Botframework 在没有可用活动的bot上设置用户状态
正在尝试将代码从BF 1.x升级到3.x,但无法找到转换以下代码的示例Botframework 在没有可用活动的bot上设置用户状态,botframework,Botframework,正在尝试将代码从BF 1.x升级到3.x,但无法找到转换以下代码的示例 var client = new ConnectorClient(); var getData = await client.Bots.GetUserDataAsync(Constants.botId, userid); getData.Data = ar.Serialize(); var resp = await client.Bots.SetUserDataAsync(Constants.botId, userid, g
var client = new ConnectorClient();
var getData = await client.Bots.GetUserDataAsync(Constants.botId, userid);
getData.Data = ar.Serialize();
var resp = await client.Bots.SetUserDataAsync(Constants.botId, userid, getData);
return Request.CreateResponse(resp);
对其他方法开放,但用户从bot获得一个指向网站的链接,它在链接中包含用户ID,然后站点希望在对话中设置状态
最大的问题是客户端。机器人不再存在-状态已移动到它自己的StateClient,但要获取状态客户端,似乎需要一个Activity对象。GetStateClient只是为给定通道获取正确状态客户端的帮助器。我们之所以需要它,是因为大多数通道使用集中存储,而其他通道可能需要特定于通道的存储(例如emulator)。为了更深入地理解,我建议在
ActivityEx.cs
中查看此方法的代码
构造状态客户端(对于大多数通道)的直接方法如下:
有关参数的说明,请参阅。
活动。GetStateClient
只是为给定频道获取正确状态客户端的帮助程序。我们之所以需要它,是因为大多数通道使用集中存储,而其他通道可能需要特定于通道的存储(例如emulator)。为了更深入地理解,我建议在ActivityEx.cs
中查看此方法的代码
构造状态客户端(对于大多数通道)的直接方法如下:
有关参数的解释,请参阅。谢谢您的帮助,我们将尝试一下。Tanks将尝试一下
new StateClient(new MicrosoftAppCredentials(microsoftAppId, microsoftAppPassword));