[英]Microsoft Bot Framework with NodeJs sdk version 4.0 not allow multiple users sessions
[英]Microsoft Bot Framework multiple users
我正在使用 NodeJS SDK 使用 Microsoft Bot Framework V4 开发应用程序。 该机器人使用一个基本的瀑布对话来验证用户,并在后端访问微软图形 API。 我使用了很多局部变量来存储瞬态数据,不需要维护任何状态。 我的问题是
当多个用户使用我的机器人时,会话会干扰吗? (请注意,我没有使用任何机器人用户/对话存储。
由于只有一个机器人实例在 Azure 中运行,我是否需要从我这边做任何事情来处理多个用户,还是机器人框架会自动为我处理?
当多个用户尝试访问机器人但不确定问题可能是什么时,我看到了一些不稳定的行为。
当多个用户使用我的机器人时,会话会干扰吗? (请注意,我没有使用任何机器人用户/对话存储。
不会。只要:
"I use a lot of local variables to store transient data"
这部分有点担心变量是否完全是“全局的”。 我肯定已经看到这会导致多用户问题。由于只有一个机器人实例在 Azure 中运行,我是否需要从我这边做任何事情来处理多个用户,还是机器人框架会自动为我处理?
通过用户 ID 自动处理。 大多数频道会自动设置用户 ID。 较新版本的 WebChat 应提供随机用户 ID。 但是,请确保您不会意外地使用以下内容设置静态:
window.WebChat.renderWebChat(
{
directLine: window.WebChat.createDirectLine({
token: 'YOUR_DIRECT_LINE_TOKEN'
}),
userID: 'A_Static_Id', // DO NOT DO THIS
},
document.getElementById('webchat')
);
如果您认为自己遵循了这些准则但仍然遇到问题,请发布您的代码,我可以提供进一步的帮助。
一个最大的错误可能是使用全局变量。 如果您正在使用任何,那么只需删除它们并尝试将这些值传递给步骤上下文.. 例如:stepContext.values.yourVariableName = “value”。
然后您可以在任何步骤中访问它。 这将解决问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.