如何在 MS 机器人框架上实现会话变量



我正在寻找有关如何在机器人框架上实现会话级变量的指南。

我创建了一个类来存储工作正常的全局变量。

但是,这些变量在所有机器人会话中都保留下来,这不是我现在需要的。

提前感谢,

我不确定您使用的是 Node 还是 C# SDK。 您可以轻松地将此类数据存储在 SDK 提供的数据包中。UserDataConversationDataPrivateConversationData

为了演示如何使用它,我只会使用UserData但任何数据包都可以以相同的方式使用


节点

对于节点,您可以像使用其他语言的字典或哈希图一样设置值:

您可以使用点表示法或括号表示法:

session.userData.SomeProperty = "someValue";
session.userData["SomeProperty"] = "someValue"

然后,要稍后使用数据,您可以再次使用点表示法或括号表示法:

var foo = session.userData.SomeProperty;
var foo = session.userData["SomeProperty"]

C#

要设置数据:

context.UserData.SetValue("SomeProperty", "SomeValue");

要获取数据:

context.UserData.GetValue<string>("SomeProperty");

在 C# 中,如果您需要在无法访问上下文对象的地方执行此操作,请参阅此 SO 答案

最新更新