我正在使用Bot Framework V4 Node.js设置一个简单的机器人。根据文档,带内存存储的ConversationState不适用于Production机器人。我只需要为每个对话存储一些临时变量(以跟踪计数器)。在这种情况下,因为我不想永久保存数据,可以使用memoryStorage吗?如果许多用户正在访问该机器人,生产环境中是否会出现任何内存使用问题?
答案 0 :(得分:2)
在生产机器人中使用内存存储的问题不仅仅是内存临时存储的问题。通常,对话状态可以被认为是临时的,因为对话可以被认为是临时的。部署漫游器时,不应使用内存存储,因为部署的漫游器可以使多个实例同时在多个服务器上运行。每个实例将拥有自己的内存,并且每个会话中的每个用户可能在不同的回合中将消息发送到不同的实例。这就是为什么您应该始终对已部署的机器人使用外部存储服务。
您可以在SDK中看到prompt.ts中如何处理计数器。当然,如果您不想在对话框状态下跟踪计数器,则可以创建自己的属性访问器。