Microsoft bot在本地运行,但在发布时不运行

时间:2016-09-12 17:19:53

标签: botframework

所以我创建了一个聊天机器人,在本地运行时可以在Microsoft Bot Framework Channel Emulator上完美运行。

然而,在我发布它之后,当我在Telegram上测试它时,我得到错误500:“POST到pbot2失败:POST到机器人的端点失败,HTTP状态为500”。

我完全不知道哪里可能出错了。通常它是凭据问题,如果它在本地工作但在发布时没有,但我尝试在Microsoft Bot网站上测试与我的机器人的连接,它给了我:端点授权成功。因此凭证绝对不是问题。

谷歌搜索给我的结果问题是System.IdentityModel.Tokens.jwt的向后兼容性,但我没有更新该包,所以这不应该是一个问题。

此时我已经用完了想法,会感激任何帮助!提前谢谢。

2 个答案:

答案 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 |
-----------------------------------------------------------------