2017-08-16 131 views
2

我們正在使用MS Bot Framework構建機器人。有時候不使用機器人時,需要花費太多時間來響應,並且我們得到[500]內部服務器錯誤。當我們嘗試訪問我們的應用程序中的機器人(我們正在使用Direct Line與機器人交互)時,我們看到了這個問題。保持機器人活着

我已閱讀有關確保應用程序活動的Microsoft Azure設置設置爲「始終開啓」的其他解答,並且我們已經完成了此操作。但是,隨着永遠在ping我們的機器人網絡應用程序的根,我認爲它可能不足以保持機器人/直線活着...

而且我沒有任何重寫規則從http到https阻止ping請求成功..

有人有這個問題嗎?

更新問一個具體的問題:如果上面解釋的所有設置都不起作用,我們如何確保我們的機器人永遠活着?我們應該通過直線框架來ping我們的機器人嗎?

+0

不知道爲什麼我的問題是用-1降低投票數......我們是否必須在提問之前將每篇文章的參考文獻放在一起? – ben

+2

您沒有針對特定問題提出具體問題,也沒有顯示任何代碼或信息來幫助解決您的問題。 https://stackoverflow.com/help詢問是否有人有這個問題是開放式的,不允許的。不要讓我們猜你在做什麼。 – Rob

+0

好的,thx!我用你的建議更新了我的問題。 – ben

回答

0

一種方法是每15分鐘發一次ping。默認的代碼,甚至給你一個地方來處理消息控制器的平

else if (message.Type == ActivityTypes.Ping) 
{ 

} 

也請看一看this post,因爲它可能爲你工作,並沒有代碼一個非常簡單的解決方案。

+0

您所指的鏈接是關於Always On,我們已經實現了該鏈接。 bot azure網站一直保持這種功能,但它不會阻止機器人在一段時間不活動後停止響應... – ben

+0

我相信要將PING發送到機器人,您需要進行對話......所以你需要保持一個活躍的對話才能做到這一點,如果你想通過Azure調度器來做到這一點,那麼這是一個痛苦(例如Azure功能) – ben

0

我不得不創建一個天青的函數來ping我的服務,因爲我有這個相同的問題。我一直在爲我的所有服務,並仍然發現機器人睡覺。使用ping服務,它建立一個新的對話,發送話語,然後在收到響應後關閉。這似乎有效,但實踐只有一個星期。請注意,我每五分鐘就會ping一次。