繁体   English   中英

Microsoft Bot Framework 多用户

[英]Microsoft Bot Framework multiple users

我正在使用 NodeJS SDK 使用 Microsoft Bot Framework V4 开发应用程序。 该机器人使用一个基本的瀑布对话来验证用户,并在后端访问微软图形 API。 我使用了很多局部变量来存储瞬态数据,不需要维护任何状态。 我的问题是

  1. 当多个用户使用我的机器人时,会话会干扰吗? (请注意,我没有使用任何机器人用户/对话存储。

  2. 由于只有一个机器人实例在 Azure 中运行,我是否需要从我这边做任何事情来处理多个用户,还是机器人框架会自动为我处理?

当多个用户尝试访问机器人但不确定问题可能是什么时,我看到了一些不稳定的行为。

当多个用户使用我的机器人时,会话会干扰吗? (请注意,我没有使用任何机器人用户/对话存储。

不会。只要:

  1. 用户有不同的用户 ID
  2. 您遵循良好的编码习惯。 "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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM