抱歉,我的机器人代码有问题......但它没有

Sorry, my bot code is having an issue... But it does not

我用Microsoft Bot Framework(Builder v3.12.2.4,目前最新版本)开发了一个bot。我实际上将所有库更新到最新版本,也有 AdaptiveCards,最新的 beta10。

因此,我构建并部署了机器人,一切正常。但是一下子,所有平台都给出了回应'sorry, my bot code is having an issue'。所以,在每次输入时,都会给出反馈(比如你好,一张卡片,...)还有这条消息。

我检查了两次 context.Wait() 调用,但没有。 我启用了信息日志记录并放置了各种日志记录,给出了以下结果(这里没有错误,因为我的 catch 语句会记录一行)

2017-12-04T16:45:40  PID[4812] Information Sentiment recognition ON: True
2017-12-04T16:45:41  PID[4812] Information Forwarded message to Luis Dialog: Hallo
2017-12-04T16:45:41  PID[4812] Information Detect Chat intent in Luis Dialog

我所看到的,但以前已经是这样了:

2017-12-04T16:45:46  PID[4812] Warning     The Bot State API is being deprecated.  
Please refer to https://aka.ms/yr235k for details on how to replace with your own storage.

但是,这似乎是 bot 框架内部的东西... Bot 服务说“我很好,没有发现问题”。所以我 运行 没主意了。

任何人都遇到过这个并且有线索。顺便说一句:我已经为 1 个平台(电报)设置了自适应卡,并在另一个平台(Skype、网络聊天)上使用了内置的 herocard,所有这些都出现了这种行为

其他信息。 我忘记放置 1 个异常日志记录,在 API 控制器方法本身中。 这个说: 操作返回无效状态代码 'Conflict' 但是,我不知道这是什么意思。通过 https://docs.microsoft.com/en-us/rest/api/storageservices/common-rest-api-error-codes 找到的默认 REST API 解释似乎没有意义

错误信息:

The Bot State API is being deprecated

意味着您的聊天机器人需要使用您自己的存储来管理状态。消息中的 URL 转到 Manage custom state data with Azure Cosmos DB for .NET 页面,这解释了原因。

去年 7 月,Bot Framework 团队发布了有关此内容的博客:Saving State data with BotBuilder-Azure in .NET。如果您在那之后阅读其他几篇博文,您将了解如何使用其他数据存储(例如 SQL Server)进行状态管理。

真的,您想使用自己的状态管理,因为它们提供的存储量非常小,提高了性能,减少了延迟,并且可以更好地控制状态。

设置状态应该是所有聊天机器人的正常任务。