2016-12-13 13 views
0

我開發了一個使用C#中的Microsoft Bot Framework的機器人,並且正在嘗試將其部署到Web服務器而不是Azure。 Web服務器運行Windows Server 2012 R2,並安裝了IIS 8.5。機器人可以在本地正常工作,並可以使用仿真器在那裏進行測試,而不會出現任何問題無法測試自託管的機器人

我對僵屍網絡服務器上配置IIS中的網站,並部署在那裏的殭屍代碼,以及配置的應用程序ID和密碼。在Bot Framework網站上使用「測試連接」功能時,我會收到「終端授權成功」消息。但是,當試圖使用模擬器(或門戶站點內置的聊天工具)對其進行測試時,我沒有收到任何答覆,並且在模擬器中,所有響應均顯示爲內部服務器錯誤。

我已經ngrok在後臺轉發到自己的計算機連接運行,並已更新了仿真器URL字段包含ngrok的「轉發」部分中指出的URL。然而,當我嘗試進行聊天時,ngrok控制檯窗口中的HTTP請求列表不會填充。

我試圖使用this previous solution獲取有關可能發生的內部服務器錯誤的更多詳細信息,但部署此代碼後,我收到一個堆棧跟蹤。同樣,這可以在本地正常工作,並且可以在沒有任何問題的情況下通過模擬器進行測試

有人可以告訴我哪裏可能會出錯,或分享他們的經驗,調試這些類型的錯誤? Bot框架似乎不幸的提供了非常好的調試體驗。

回答

0

在這種情況下,這個問題是通過升級服務器來運行的.NET Framework(4.6.2)的最新版本解決。 4.5已安裝,並且這與Bot Framework不兼容。

-1

嘗試在模擬器設置端點URL實際BOT終點(相同的URL,你在開發門戶網站提供)。模擬器可以直接發送消息到你的機器人。 ngrok URL用於將回復從您的機器人隧道傳回到模擬器。

+0

嗨,Eric,模擬器中的「Bot URL」字段已經匹配我在門戶中配置的端點URL。 – drewb

+0

好吧,我想我誤解了你的陳述「...更新了模擬器URL字段以包含ngrok的」轉發「部分中指出的URL。將ngrok URL作爲模擬器的bot端點是不正確的。 –

+0

讓我備份並檢查我的理解。你是否在IIS機器上運行ngrok來將消息轉發給你的機器人?如果是這樣,那麼ngrok bot端點是有效的。其次,你是否在開發機器上運行ngrok(將消息轉發給模擬器)?第三個問題,您是否使用新的Bot Framework模擬器(https://github.com/Microsoft/BotFramework-Emulator)? –