SignalR を使用してサーバー上の変更を通知する単一ページ Web アプリケーションを作成しています。私はSignalRを初めて使用し、クライアントがどのビューにあるかに応じて特定のイベントのみをリッスンする方法を理解しようとしています。たとえば、ユーザーが顧客情報を表示している場合、このデータが変更された場合に通知を受ける必要がありますが、このデータを表示していない場合は、変更について通知する必要はありません。
そのハブからの情報を知る必要がなくなったら、ハブ プロキシを使用して、登録を解除または切断できるのではないかと考えました。以下は、私がこれを達成しようとした方法です:
var connection = $.hubConnection();
var proxy = connection.createHubProxy(hubName);
// When I want to receive notifications I subscribe to the event
proxy.on('CustomerChanged', function() { ... });
// When I want to stop receiving notifications
proxy.off('CustomerChanged');
これにより、イベントハンドラーの呼び出しが停止しますが、フィドラーを見ると、ハンドラーがオフになっていても、データは引き続きブラウザーに送信されます。
サーバーがデータを送信しないように、クライアント側で通知のリッスンを停止する方法はありますか?
前もって感謝します