我开发了一个带有Microsoft Bot Framework的机器人(Builder v3.12.2.4,这是目前的最新版本)。我实际上将所有库更新到最新版本,同时使用AdaptiveCards,最新的beta10。
所以,我构建了机器人,部署它,一切都很好。但突然之间,所有平台都给出了回复,对不起,我的机器人代码出现了问题'。因此,在每个输入处,都会给出反馈(如hello,a card,...),但也会给出此消息。
我检查了双上下文.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服务说“我很好,没有发现任何问题'所以我的想法已经不多了。
任何人遇到这个并且有线索。顺便说一句:我已经为1个平台(电报)设置了自适应卡,并在另一个平台(Skype,网络聊天)上使用了内置的herocard,并且所有人都给出了这种行为
其他信息。我忘了在API控制器方法本身中添加1个异常日志记录。 这个说: 操作返回了无效的状态代码'冲突' 但是,我不知道这意味着什么。通过https://docs.microsoft.com/en-us/rest/api/storageservices/common-rest-api-error-codes找到的默认REST API解释似乎没有意义
答案 0 :(得分:3)
错误消息:
Bot State API已被弃用
意味着您的聊天机器人需要使用您自己的存储来管理状态。邮件中的网址会转到Manage custom state data with Azure Cosmos DB for .NET页面,这解释了原因。
去年7月,Bot Framework团队在博客中写道:Saving State data with BotBuilder-Azure in .NET。如果您之后阅读了其他几篇博文,您将学习如何使用其他数据存储(如SQL Server)进行状态管理。
实际上,您希望使用自己的状态管理,因为它们提供的存储量非常小,性能提高,延迟减少,并且可以更好地控制状态。
设置状态应该是所有聊天机器人的正常任务。