私のアプリケーションでSignalRを使用しています。私はOnDisconnected()
が正しく呼び出されていることに非常に大きく依存するアプリケーションを持っています。そして、それは次のような状況の下で正しく呼び出されます。SignalRの切断がインターネットの切断/再接続で呼び出されない
public Task OnDisconnected()
{
try
{
DeleteUser(Context.ConnectionId);
return null;
}
catch (Exception ex)
{
return null;
}
}
- ユーザーがページ
- を更新し、ユーザーが新しいページに移動
- ユーザーは、しかし、ブラウザ
を閉じ、ネットワーク接続が突然低下した場合は呼び出されません。たとえば、クライアントマシンのネットワークケーブルを外したり、クライアントのワイヤレスネットワークを無効にしたり、ルータの電源コードを抜いたりすると、数分間待機してもOnDisconnected()
が呼び出されることはありません。
私はSignalRをそれほど扱っていますが、ユーザーがまだハブに接続しているかどうかを確認するには、その機能性のどれもチェックしていません。 (x)分後にユーザーをログアウトする独自のタイマーを実装することができます。 – Timsen
このリンクを参照してください、あなたに役立つかもしれません:http://www.dotnetcurry.com/ShowArticle.aspx?ID=826 – Timsen