2013-08-23 31 views
1

我正在使用SignalR,但遇到了問題。當在一個瀏覽器窗口中啓動連接,然後用戶在另一個瀏覽器窗口中登錄時,將更改用戶身份(這會導致錯誤「System.InvalidOperationException:無法識別的用戶身份。在活動的SignalR連接期間,用戶身份無法更改」當用戶身份發生變化時不會調用SignalR失敗方法

proxy.server.analyze(content) 
.done(function() { 
    console.log('Success!'); 
}) 
.always(function() { 
    console.log('This is always called!'); 
}) 
.fail(function (error) { 
    console.log('This is never called!'); 
}); 

當我看到在服務器上的錯誤故障功能永遠不會被調用所以有:當一個方法被調用輪轂上的服務器

我在客戶端使用此代碼。似乎沒有辦法在客戶端上處理這個問題並停止並開始連接。

那麼是否存在處理這種情況的「最佳實踐」方式?如何在客戶端檢測到用戶身份在另一個瀏覽器窗口中發生了更改並停止並重新啓動連接?

回答

1

這是一個已知問題。

它在下一個版本中得到修復。以下是最終解決問題的問題:https://github.com/SignalR/SignalR/issues/2106

最後,在下一個版本(0.2.0)中,會發生什麼情況是連接會拋出錯誤並自行停止。因此,您可以通過錯誤處理程序處理您的案例,或者您可以綁定到「已斷開連接」的事件。

如果你願意嘗試之前版本可以隨時從官方源拉或夜間webstack(http://www.myget.org/F/aspnetwebstacknightly/

+0

嘿泰勒......他會是什麼問題就在這裏:https://github.com/SignalR/SignalR /問題/ 2618 –

相關問題