我一直都在使用Microsoft.Bot.Builder v3.x来开发Bot。 我已经开始使用Microsoft.Bot.Builder v4.x来开发Bots,我利用Microsoft.Bot.Builder.Classic将v3.0 bot解决方案转换为v4.0 bot解决方案。
我遇到了一个问题,我需要使用在Microsoft.Bot.Connector v3.11.1中找到的StateClient对象,但是在Microsoft.Bot.Connector v4.0.1中找不到相同的对象,因为我已经移到了,所以无法使用它Microsoft.Bot.Builder v4.x。
使用StateClient和BotData将身份验证令牌(以及更多数据)从MVC应用程序移动到我的Bot时,我需要StateClient。
StateClient _stateClient = result.GetStateClient();
BotState _botState = new BotState(_stateClient);
BotData _botData = await _botState.GetUserDataAsync(result.ChannelId,
result.From.Id);
string _token = _botData.GetProperty<string>("AccessToken");
答案 0 :(得分:1)
使用StateClient
停止。别无选择,已弃用(现在已有一段时间)。
在“管理状态数据” here的文档页面中清楚列出了替代方法。切换到Azure Cosmos数据库或表存储需要花费几分钟,然后您可以再次使用UserData
,ConversationData
或PrivateConversationData
。