我正在寻找有关如何在bot框架上实现会话级变量的指南。
我创建了一个类来存储可以正常工作的全局变量。
但是,这些变量在所有bot会话中都存在,而现在我不需要了。
预先感谢
答案 0 :(得分:2)
我不确定您使用的是Node还是C#SDK。您可以轻松地将此类数据存储在SDK提供的数据包中。 curl
,UserData
和ConversationData
仅出于演示目的,我仅使用PrivateConversationData
,但任何数据包都可以相同的方式使用
对于节点,您将设置值就像使用其他语言的字典或哈希图一样:
您可以使用点符号或方括号符号:
UserData
然后在以后使用数据时,再次可以使用点表示法或方括号表示法:
session.userData.SomeProperty = "someValue";
session.userData["SomeProperty"] = "someValue"
设置数据:
var foo = session.userData.SomeProperty;
var foo = session.userData["SomeProperty"]
要获取数据:
context.UserData.SetValue("SomeProperty", "SomeValue");
在C#中,如果需要在无法访问上下文对象的地方执行此操作,请参考this SO answer