2015-10-07 147 views
0

注意:這個問題是關於SignalR 認證事件,不運輸事件,我已經覆蓋。SignalR客戶端如何檢測註銷?

場景:我的SignalR應用程序在2個選項卡中打開。其中之一,我註銷。另一方面,我的SignalR連接似乎保持連接狀態,但沒有響應返回到通過集線器發送的請求。我如何檢測這種情況?我已經在檢測錯誤,重新連接和斷開事件,但它似乎並不對應任何狀態變化。這感覺像一個相對常見的情況,但我似乎無法找到任何有關它的文檔。

+0

So你想檢測是否有一個選項卡(html/javascript上下文?)被關閉? – Caramiriel

+0

不,這只是觸發註銷問題的便捷方式。我想檢測任何種類的註銷 - 也許一個身份驗證cookie已經過期,也許用戶已經使用了一些像gmail一樣的「註銷所有會話」功能 - 關鍵是要檢測SignalR將不再實際迴應請求 –

+0

所以2打開標籤的情況:你從一個標籤註銷,你想另一個註銷以及? –

回答

1

據我所知,SignalR真的不知道你已經註銷,所以似乎沒有任何好辦法做到這一點。我現在已經實現了一個單獨的http端點「IsLoggedIn」,它返回true或false,並且我通過Ajax查詢當用戶註銷時計算出來,但有必須是更好的方法...