如何在MS Bot框架上实现会话变量

时间:2018-07-03 10:57:47

标签: botframework

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

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

但是,这些变量在所有bot会话中都存在,而现在我不需要了。

预先感谢

1 个答案:

答案 0 :(得分:2)

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

仅出于演示目的,我仅使用PrivateConversationData,但任何数据包都可以相同的方式使用


节点

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

您可以使用点符号或方括号符号:

UserData

然后在以后使用数据时,再次可以使用点表示法或方括号表示法:

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

C#

设置数据:

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

要获取数据:

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

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