Sto utilizzando SignalR nella mia app. Ho un'applicazione che dipende molto dal fatto che OnDisconnected()
viene chiamato correttamente. E si chiama correttamente nelle seguenti circostanze:Disconnessione del segnale non chiamata sulla disconnessione/ricollegamento di Internet
public Task OnDisconnected()
{
try
{
DeleteUser(Context.ConnectionId);
return null;
}
catch (Exception ex)
{
return null;
}
}
- L'utente aggiorna la pagina
- L'utente passa a una nuova pagina
- L'utente chiude il browser
Tuttavia, non viene chiamato se la connessione di rete diminuisce improvvisamente. Ad esempio, se scollego il cavo di rete sul computer client o disattivo la rete wireless del client o scollego il router, OnDisconnected()
non verrà mai chiamato, anche dopo diversi minuti di attesa.
Non ho lavorato molto con SignalR, ma sono abbastanza sicuro che non è una delle sue funzionalità controllare, se l'utente è ancora connesso a un hub. Si consiglia di implementare il proprio timer che registrerà l'utente dopo (x) minuti. – Timsen
Basta collegare questo link, potrebbe essere utile per te: http://www.dotnetcurry.com/ShowArticle.aspx?ID=826 – Timsen