MS Bot Framework V3网络聊天/直线问题-内部服务器错误500

时间:2019-03-20 12:05:02

标签: c# botframework azure-bot-service

我是C#和Bot Framework(V3)的新手,并被要求开始在我加入的项目中测试现有的bot。该机器人本身可以在Bot仿真器上以及在Skype上托管时正常运行,但是由于某些原因,Azure上的网络聊天无法正常工作。由于网络聊天使用的是Direct Line,因此暂时停止了运行测试。我花了很多时间在V3 Github页面上以及此处搜索SO,但是我找不到解决方案。

对话似乎开始启动,因为Bot向用户发送了一条消息,但未发送所有用户响应,并且Bot响应并显示了错误消息“对不起,我的机器人代码有问题”。 请参阅-

Bot error message

Azure将其列为500错误-内部服务器错误。 见

Azure中的错误消息

Error messages in Azure

然后,我查看了Chrome开发者工具标签中的消息,并得到了相同的错误以及502错误,并且最近(或者我从未注意到)也出现了CORS错误。 参见

Chrome开发者工具控制台

Chrome Dev Tools console

此后,我在Azure上使用了Application Insights,对于每个实例,当我尝试使用Web Chat时,都会有三个项目:

  • 一个customEvent(状态代码:200),大概是Bot在对话开始时发送的消息。
  • 具有问题ID“ Microsoft.Bot.ChannelConnector.BotAPI + d__31.MoveNext处的System.Exception”的异常”
  • 另一个customEvent(状态代码:500)

由于我对C#和Bot Framework之间的整个设置不是很熟悉,所以我不太确定问题出在哪里。这是异常消息的屏幕截图-

单个operationId的消息

Messages for single operationId

异常详细信息(1)

Exception details (1)

异常详细信息(2)

Exception details (2)

异常详细信息(3)

Exception details (3)

异常详细信息(4)

Exception details (4)

我对这些消息有一些想法:

  1. “外部程序集”被描述为“ Microsoft.Bot.ChannelConnector,版本= 3.2.2.5,区域性=中性,PublicKeyToken =空”-缺少PublicKeyToken是否意味着未为用户分配令牌因为错误?还是应该先发生这种情况,然后由于用户没有令牌而发生错误?
  2. 堆栈跟踪指向一个对话框文件中的一行,但是从查看代码来看,我真的看不到问题出在哪里吗?我实际上删除了被标记的部分,但是它只是将代码中的问题所在的行更改为上一节,所以我真的不确定此文件是否存在任何问题?

如果有人对此有任何想法以及问题的起因是什么,我将非常感谢。

此外,这是我试图解决的两件事,没有什么改变;

  • 确保在将配置文件发布到Azure时,勾选“全部删除”框。
  • 确保所有软件包都是最新的(包括安装bot.connector.directline软件包,由于某些原因该软件包尚不存在)

1 个答案:

答案 0 :(得分:0)

因此,根据上述评论中史蒂文·坎伯格的建议,解决了我的问题。虽然我们的州管理部门一直在使用不推荐使用的版本(现在已更新),但这是一个CORS问题,原因是这些漫游器位于与应用程序服务不同的部署插槽中。将应用程序服务的URI添加为“可信来源”后,问题就解决了。感谢史蒂文·坎伯格的所有帮助。