【问题标题】:Microsoft Bot Framework with NodeJs sdk version 4.0 not allow multiple users sessions带有 NodeJs sdk 版本 4.0 的 Microsoft Bot Framework 不允许多个用户会话
【发布时间】:2019-10-25 20:03:21
【问题描述】:

我的机器人使用 NodeJS 和机器人框架 4.0 开发,使用示例的基础代码将变量值从会话保存到会话。 第一个用户填写姓名、电子邮件和电话号码,并且在下一次使用相同或不同浏览器的会话中,值会保持不变,似乎 nodejs 创建了一个单例,或者可能是 IIS 托管 nodejs 缓存了这些值,这会给并发用户带来问题。

我正在使用基于 Angular 网络聊天示例的 Angular 应用程序,使用直线将随机 id 传递给机器人,尽管机器人框架将为每个用户解析唯一的会话,但它没有发生。

需要帮助,我被困了好几天! 提前致谢。 何塞

【问题讨论】:

  • 您好,您正在为节点机器人跟踪哪个代码示例?如果您可以发布您迄今为止尝试过的内容,那将会很有帮助。
  • 嗨,变量下面的bot.js模块
  • 嗨,bot.js 模块这些变量 userid、name 等保留了第一个用户的值 async onTurn(turnContext) { if(turnContext.activity.type === 'event'){ await turnContext .sendActivity(inside activity event); userId =turnContext.activity.from.id; localTime=turnContext.activity.localTimestamp;等待 turnContext.sendActivity(inside event activity); await turnContext.sendActivity(name + ' ' + email + ' ' + phone + '' + userId);
  • const { LuisRecognizer } = require('botbuilder-ai'); const { ActivityTypes } = 要求('botbuilder');常量 { QnA } = 要求('./qna'); const { VehicleLookUp }=require('./vehicleLookUp'); const { ProvideInfo } = require('./provideinfo') const { BlobStorage } = require("botbuilder-azure"); const shared = require('./shared'); const DISPATCH_CONFIG = 'UVS 调度'; var dotenv = require('dotenv');变量存储;变量机器人用户状态;变量用户ID; var isRecurrentUser; var 经常性用户名;让名字;让电子邮件;让电话;
  • 我正在使用直线 Angular 应用程序并传递了一个唯一的用户 ID,该用户 ID 具有“事件”类型的发布活动,其中有几个变量作为本地时间和本地时区

标签: node.js botframework


【解决方案1】:

此问题已解决,问题是直接行代码向机器人发送了两个不同的 id 而不是两个活动中的单个 id 并且不使用 UserState 对象将数据持久化到某些存储(我使用了 azure blob 存储)而不是内存存储。谢谢你

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-04
    相关资源
    最近更新 更多