任何人都可以帮助我如何继续存储先前的语音意图,并将其与当前语音的当前实体绑定在一起?简而言之,使用可用状态对象进行上下文管理?谢谢。
像v3中一样
Context.UserData.SetValue("intent_name",intent);
string previousIntent = Context.UserData.GetValue<string>("intent_name");
在V4中如何完成?
在v4中,您可以从转弯上下文获取状态属性。
示例:
var userStateAccessors = _userState.CreateProperty<UserProfile>(nameof(UserProfile));
var userProfile = await userStateAccessors.GetAsync(turnContext, () => new UserProfile());
在OnMessageActivityAsync Task事件上定义,该事件是从ActivityHandler类派生的。您可以在StateManagementBot.cs项目的BotBuilder-Sample StateManagement中查看更多示例详细信息。
这是Differences between the v3 and v4 .NET SDK
v4不使用UserData,ConversationData和PrivateConversationData属性和数据包来管理状态。状态通过状态管理对象和属性访问器进行管理。 v4定义了管理机器人状态数据的UserState,ConversationState和PrivateConversationState类。
希望这会有所帮助。