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

Botframework 如何在MS Bot框架上实现会话变量,botframework,Botframework,我正在寻找关于如何在bot框架上实现会话级别变量的指导 我创建了一个类来存储工作正常的全局变量 但是,这些变量在所有bot会话中都是持久化的,这不是我现在需要的 提前感谢,我不确定您是否正在使用该节点或C#SDK。您可以轻松地将这样的数据存储在SDK提供的数据包中用户数据,会话数据和私有会话数据 为了演示如何使用它,我只打算使用UserData,但是任何数据包都可以以相同的方式使用 节点 对于node,您可以设置值,就像在使用其他语言中的字典或hashmap一样: 您可以使用点符号或括号符号:

我正在寻找关于如何在bot框架上实现会话级别变量的指导

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

但是,这些变量在所有bot会话中都是持久化的,这不是我现在需要的


提前感谢,

我不确定您是否正在使用该节点或C#SDK。您可以轻松地将这样的数据存储在SDK提供的数据包中<代码>用户数据,
会话数据
私有会话数据

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


节点 对于node,您可以设置值,就像在使用其他语言中的字典或hashmap一样:

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

session.userData.SomeProperty = "someValue";
session.userData["SomeProperty"] = "someValue"
var foo = session.userData.SomeProperty;
var foo = session.userData["SomeProperty"]
然后要在以后使用数据,同样可以使用点符号或括号符号:

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");
context.UserData.GetValue(“SomeProperty”);

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

Ed Y-您能否提供有关使用变量的更多详细信息?我需要会话变量来存储特定于客户的数据,例如CustomerID和其他应用程序参数,这些数据存储在SQL数据库中,以供稍后回复。刚度假回来。非常感谢你的帮助。找到一种在上下文对象之外管理状态变量的方法正是我想要的。不客气,如果这回答了你的问题,请接受并投票,祝你好运。