我在C#中使用Microsoft Bot Framework开发了一个机器人,我正在尝试将其部署到Web服务器而不是Azure。 Web服务器运行Windows Server 2012 R2,并安装了IIS 8.5。机器人在本地运行良好,可以在那里使用模拟器进行测试而没有任何问题。
我已在IIS的Web服务器上为IIS配置了一个站点,并在那里部署了机器人代码,并配置了应用程序ID和密码。使用"测试连接"在Bot框架网站上,我获得了一个"端点授权成功"信息。但是,当尝试使用模拟器(或内置于门户网站的聊天工具)对其进行测试时,我没有收到任何回复,并且在模拟器中,所有响应都显示为内部服务器错误。
我在后台运行ngrok以将连接转发到我的开发机器,并更新了模拟器URL字段以包含ngrok"转发"中指示的URL。部分。但是,当我尝试进行聊天时,ngrok控制台窗口中的HTTP请求列表不会填充。
我尝试使用this previous solution来获取有关可能发生的任何内部服务器错误的更多详细信息,但在部署此代码后,我收到了堆栈跟踪。同样,这在本地工作正常,可以使用模拟器进行测试,没有任何问题。
有人可以告诉我可能出错的地方,或者分享调试这些错误的经验吗?不幸的是,Bot Framework似乎没有提供非常好的调试体验。
答案 0 :(得分:0)
在这种情况下,通过升级服务器以运行最新的.NET Framework版本(4.6.2)来解决问题。安装了4.5,这与Bot Framework不兼容。
答案 1 :(得分:-1)
尝试将模拟器中的端点URL设置为实际的bot端点(您在开发门户中提供的URL)。模拟器可以直接向您的机器人发送消息。 ngrok URL用于将机器人的回复隧道传送回模拟器。