我正在寻找有关如何在机器人框架上实现会话级变量的指南。
我创建了一个类来存储工作正常的全局变量。
但是,这些变量在所有机器人会话中都保留下来,这不是我现在需要的。
提前感谢,
我不确定您使用的是 Node 还是 C# SDK。 您可以轻松地将此类数据存储在 SDK 提供的数据包中。UserData
、ConversationData
和PrivateConversationData
为了演示如何使用它,我只会使用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 答案