我正在使用bot技术,在我的一个项目中,我使用bot状态概念获取机器人数据并在此处设置新数据我使用了如下所示的状态客户端对象
//var stateClient = new StateClient(new Uri("http://localhost:9000/"));
var stateClient = new StateClient(new Uri("https://skype.botframework.com"));
这是我在LoginController.cs中编写的代码
if (stateClient != null)
{
var getData = await stateClient.BotState.GetUserDataAsync(Constants.Constants.botId, activity.From.Id);// 29:1_12CsCTqilHlQTG9KI8YmvCKd - zwzekm2IDKR7xN8EVE3gjtfNQYp1aOzuC9Rs_t
//var getData = await client.B.GetUserDataAsync(Constants.Constants.botId, userid);
getData.Data = ar.Serialize();
var foo = await stateClient.BotState.SetUserDataAsync(Constants.Constants.botId, activity.From.Id, getData);
//var foo = await client.Bots.SetUserDataAsync(Constants.Constants.botId, userid, getData);
}
以上代码将毫无例外地在bot模拟器中成功运行。但是当我将机器人添加到skype然后开始聊天的时候我在执行此行后遇到异常“无法反序列化响应”
var getData = await stateClient.BotState.GetUserDataAsync(Constants.Constants.botId, activity.From.Id);
请告诉我如何解决它。
答案 0 :(得分:0)
您可能需要使用https://state.botframework.com作为StateClient的端点,而不是skype.botframework.com。