2014-01-24 27 views
1

現在,我已經覆蓋SignalR的OnDisconnect方法如下:要防止默認signalR OnDisconnect只對某個視圖

public override Task OnDisconnected() 
{ 
    if (this.Context.User != null) 
    { 
     string userName = this.Context.User.Identity.Name; 
     var repo = new LobbyRepository(); 
     Clients.Group("Lobby").remove(userName); 
     repo.RemoveFromLobby(userName); 
    } 
    return base.OnDisconnected(); 
} 

但是,達到這個代碼在每次用戶導航到任何視圖時,暫時打破signalR連接。我怎樣才能防止這種情況發生,只有當用戶請求某個視圖?

回答

0

只要您處於同一頁面中,連接就可以維持,如果您離開,連接就會結束。

您可以使用Ajax來取代你的網頁的內容,使用一個名爲技術「點擊劫持」 http://mislav.uniqpath.com/2011/03/click-hijack/

但請記住,連接關聯到你的頁面。

乾杯。