2014-01-24 1 views
1

Прямо сейчас, я переопределить OnDisconnect метод SignalR в следующем виде:Хотите, чтобы предотвратить умолчанию 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(); 
} 

Однако этот код достигается каждый раз, когда пользователь переходит на любой взгляд, временно нарушая соединение с сигналом. Как я могу предотвратить это, только когда пользователь запрашивает определенное представление?

ответ

0

Соединение может поддерживаться до тех пор, пока вы находитесь на той же странице, если вы уйдете отсюда, соединение завершается.

Вы можете использовать Ajax, чтобы заменить содержимое вашей страницы, используя технику под названием «нажмите угон» http://mislav.uniqpath.com/2011/03/click-hijack/

Но помните, что соединение связано с вашей страницы.

Cheers.