我最近開始在ASP.Net MVC 3應用程序中使用Signal R庫。我能夠使用Signal R將消息發送給客戶端。但我注意到,如果我從另一個瀏覽器登錄到應用程序,我得到以下錯誤 -signalr InvalidOperationException
異常類型:InvalidOperationException 異常消息:無法識別的用戶身份。在活動的SignalR連接期間,用戶身份不能更改。
服務器堆棧跟蹤: 在Microsoft.AspNet.SignalR.PersistentConnection.GetConnectionId(HostContext上下文,字符串connectionToken) 在Microsoft.AspNet.SignalR.PersistentConnection.ProcessRequest(HostContext上下文) 在Microsoft.AspNet.SignalR.Owin .CallHandler.Invoke(IDictionary的2 environment) at Microsoft.AspNet.SignalR.Owin.Handlers.HubDispatcherHandler.Invoke(IDictionary
2環境) 在Microsoft.Owin.Host.SystemWeb.OwinCallContext.Execute() 在Microsoft.Owin.Host.SystemWeb.OwinHttpHandler.BeginProcessRequest(HttpContextBase HttpContext的,AsyncCallback的回調,而額外對象)
而且在某些情況下,我開始反覆出現這個錯誤。事件日誌在幾分鐘內就會完成。 我重寫了我的集線器類中的OnConnect,OnDisconnect函數,並從Java腳本啓動了集線器連接。
有關解決此問題的最佳方法的任何建議,以便在舊窗口中重新建立連接,但使用新身份? – chrisb 2013-08-23 05:07:12
用戶身份更改後,您將手動停止並重新啓動信號連接。 – halter73 2013-08-27 18:38:15