2012-11-13 8 views
5

Quando si naviga lontano da una pagina che ha la connessione signalR/hub connesso, viene visualizzato il seguente messaggio di errore.signalR interrotto mentre la pagina stava caricando errore durante la navigazione da una pagina

Il collegamento "http: // localhost: 53604/signalr/signalr/collegare trasporto = serverSentEvents & connectionId = 0b308c0d-2122-4e60-a9fa-f6e3f3eb1f4e & connectionData =% 5B% 7B% 22name % 22% 3A% 22packageactionstatus% 20% 22% 7D% 5D & tid = 9 "è stato interrotto mentre la pagina stava caricando.

Capisco che la connessione è stata persa (che è Ok) a causa di navigare lontano dalla pagina, ma c'è un modo sicuro per interrompere la connessione prima di allontanarsi dalla pagina corrente?

risposta

7

È possibile chiudere l'onunload collegamento:

$.connection.hub.stop(); 

Anche se non sono sicuro perché ti importa di questo errore.

+0

dovrei presumere che una volta che ho aperto una pagina che ha la connessione, la connessione viene interrotta? corretta? – ShaneKm

+0

@ShaneKm. La tua ipotesi è corretta per quanto ne sappia. HTTP è senza stato. – gdoron

+0

cool. Grazie!!! – ShaneKm

3

Per farlo correttamente si vuole intercettare l'evento onbeforeunload, e si vuole fare in questo modo:

window.onbeforeunload = function() { 
    $.connection.hub.stop(); 
}; 

ha risolto il problema per me con firefox.

Problemi correlati