有没有一种简单的方法可以在Bot Framework SDKv4中存储先前的意图值,以用于当前的话语实体?

问题描述 投票:1回答:1

任何人都可以帮助我如何继续存储先前的语音意图,并将其与当前语音的当前实体绑定在一起?简而言之,使用可用状态对象进行上下文管理?谢谢。

像v3中一样

Context.UserData.SetValue("intent_name",intent);
string previousIntent = Context.UserData.GetValue<string>("intent_name");

在V4中如何完成?

c# .net-core azure-bot-service
1个回答
1
投票

在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类。

希望这会有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.