无法使用ngrok远程调试已部署的Microsoft机器人

时间:2018-12-20 09:59:38

标签: .net botframework azure-bot-service direct-line-botframework

我已经使用Microsoft BotFramework创建了一个聊天机器人,并部署到了Azure(网络应用bot)。当请求来自其他渠道(例如Skype或WebChat)时,我想调试机器人。我使用ngrok并运行以下命令来设置隧道(本地主机为公共URL),并在Bot设置下在Azure门户中更新了消息传递终结点URL。

  

ngrok http -host-header =重写localhost:123789

但是,当我从网络聊天或Skype请求时,我看到登录ngrok命令行(请参见屏幕截图),但未触发调试器(Chatbot也无法正常工作)。如何调试我的机器人?

enter image description here

2 个答案:

答案 0 :(得分:1)

要通过ngrok发送流量,需要做一些事情。

  • 已运行ngrok(您正在执行)。通过ngrok连接时,我使用以下命令: ngrok http 3978 -host-header =“ localhost:3978”
  • 在Azure中的ABS机器人的设置刀片中设置消息传递终结点。应该看起来像这样: https://274d521a.ngrok.io/api/messages
  • 如果您使用仿真器,请同时将端点设置为上面的值。
  • 在本地漫游器的设置(.env文件或您指定的大小)中以及在模拟器中(如果使用的话)包含您的漫游器的MicrosoftAppId和MicrosoftPassword。

那时候您应该很好。

希望有帮助!

答案 1 :(得分:0)

以下是步骤 1)在本地计算机上启动ngrok.exe。 2)将ngrok生成的主机名复制到您的机器人通道注册的消息传递端点中(例如https://abc.io/api/messages) 3)最重要的是在IIS Express中在与ngrok一起使用的同一端口上本地运行bot 一旦您从Skype或Webchat发送了消息,该机器人就会在调试点捕获请求