我使用SignalR(0.5.3)樞紐聊天應用程序,每個按鍵被髮送到服務器(保存在DB),傳達給所有的客戶端和返回值(字符串標記的種類)從服務器發回。SignalR連接處理上的應用程序池回收
它工作正常,直到應用程序池回收,然後停止向所有客戶端傳遞鍵擊(因爲內存服務器狀態會丟失,我想),服務器也不會返回任何值。在這一點上,我想通過SignalR的所有請求都由IIS排隊,然後在應用程序池被回收後處理。
我的問題是如何處理這種情況下,讓所有的客戶都知道服務器不可用/延遲是由於應用程序池回收,通知用戶等待一段時間,然後重新上重新連接操作?
上的選項1:你是對的,客戶端只得到一個長期的延遲(超時)知道後斷開的,通過重新連接/斷開事件,這樣的處理可以不工作,但我還是給它一個鏡頭。 – Nick
@泰勒馬倫 - 嗨,我正確地認爲這意味着從0.5.3開始,如果信號服務器消失,客戶端可能會卡住嘗試重新連接,直到超時,並且客戶端沒有可以發生的事件用於檢測此刻?歡呼聲將 – Will
@這是部分正確的。在0.5.3中,您將不會收到任何特定事件,例如「nowReconnecting」,但您可以檢測到SignalR嘗試通過stateChanged事件重新連接。當我們進入重新連接狀態時,stateChanged事件將觸發,並且新的連接狀態將重新連接。此外,客戶端沒有超時,它會嘗試永久重新連接。 –