所以我创建了一个聊天机器人,在本地运行时可以在Microsoft Bot Framework Channel Emulator上完美运行。
然而,在我发布它之后,当我在Telegram上测试它时,我得到错误500:“POST到pbot2失败:POST到机器人的端点失败,HTTP状态为500”。
我完全不知道哪里可能出错了。通常它是凭据问题,如果它在本地工作但在发布时没有,但我尝试在Microsoft Bot网站上测试与我的机器人的连接,它给了我:端点授权成功。因此凭证绝对不是问题。
谷歌搜索给我的结果问题是System.IdentityModel.Tokens.jwt的向后兼容性,但我没有更新该包,所以这不应该是一个问题。
此时我已经用完了想法,会感激任何帮助!提前谢谢。
答案 0 :(得分:1)
如果没有更多的背景,我可能没有多大帮助;但是你可以使用许多工具:
1)如果您在机器人框架门户中连接应用程序洞察,我们会将您从机器人看到的异常记录到应用程序洞察中。每月前几百万笔交易可以免费进行调试,这是必须的。
2)500是内部服务器错误。我假设您的机器人设置为采用其他活动类型而不仅仅是"消息"?您将从您在模拟器中自动查看的频道获取conversationUpdate活动消息。
3)您可以将模拟器指向您的云端点并进行验证,并且通常会获得有关例外的详细信息,而不是聊天频道中的详细信息。
让我们知道您的发现。
答案 1 :(得分:0)
你得到了一个未被捕获的例外;我所做的是将所有内容包装在try ... catch中的MessageController.cs中的Post方法中,并且当捕获到异常时,将异常的Message和StackTrace发送到聊天中。通常前几行将包含一般错误描述,大多数时间包含行号。
CustomerID | Coupon_Code | DateOfUsege | Text |
----------------------------------------------------------------
12 | AAA25 | 2016-09-10 | Gave bonus AAA25 |
----------------------------------------------------------------
17 | CCC14 | 2016-09-10 | Gave bonus code CCC14 |
-----------------------------------------------------------------