La domanda è come può rilevare il client JavaScript SignalR quando viene persa la connessione con il server?Come determinare la disconnessione del server dal client SignalR?
Grazie per qualsiasi risposta!
La domanda è come può rilevare il client JavaScript SignalR quando viene persa la connessione con il server?Come determinare la disconnessione del server dal client SignalR?
Grazie per qualsiasi risposta!
Un hub ha un metodo disconnect
che vi permetterà di aggiungere una richiamata quando si scollega:
Se non si utilizzano hub, il codice per il metodo di disconnessione l aiuto fuori:
$(connection).bind("onDisconnect", function (e, data) {
callback.call(connection);
});
Questo mostra la sintassi per l'aggancio su caso OnDisconnect della connessione sottostante.
Se si utilizzano hub, quindi implementare l'interfaccia IDisconnect.
public class ChatHub : Hub, IDisconnect
{
public void Disconnect()
{
Debug.WriteLine(Context.ConnectionId + " disconnected");
}
}
Su connessioni persistenti è possibile ignorare OnDisconnectAsync, (dal wiki SignalR a https://github.com/SignalR/SignalR/wiki/PersistentConnection)
public class MyEndPoint : PersistentConnection
{
protected override Task OnDisconnectAsync(string clientId)
{
return Connection.Broadcast("Client " + clientId + " disconncted");
}
}
Partendo SignalR v0.5.1 Funziona in questo modo:
$.connection.hub.stateChanged(function (change) {
if (change.newState === $.signalR.connectionState.reconnecting) {
console.log("liveFeed is reconnecting!");
}
else if (change.newState === $.signalR.connectionState.connected) {
console.log("liveFeed is connected!");
}
});
Per maggiori dettagli controllare questo sito:
http://weblogs.asp.net/davidfowler/archive/2012/06/10/signalr-0-5-1-released.aspx
Il modo SignalR 2.0 per farlo è in questo modo:
$.connection.hub.disconnected(function() {
console.log('Connection disconnected')
});
Il seguito, ha lavorato per me:
var connection = $.hubConnection('signalrConnectionUrl');
connection.disconnected(function() {
console.log('Connection disconnected');
});
Sto utilizzando la versione: 2.1.2
Vedere il seguente link di riferimento: Link
Usi signalr con asp.net ? – sinanakyazici
Sì, e con mvc 3. – Alexandr