私は自分のアプリでSignalRを使用していOnDisconnected()
ます。正しく呼び出されることに非常に大きく依存するアプリがあります。また、次の状況では正しく呼び出されます。
public Task OnDisconnected()
{
try
{
DeleteUser(Context.ConnectionId);
return null;
}
catch (Exception ex)
{
return null;
}
}
- ユーザーがページを更新します
- ユーザーは新しいページに移動します
- ユーザーがブラウザを閉じます
ただし、ネットワーク接続が突然切断された場合は呼び出されません。たとえば、クライアントマシンのネットワークケーブルを抜いたり、クライアントのワイヤレスネットワークを無効にしたり、ルーターを抜いたりするOnDisconnected()
と、数分待っても呼び出されません。