私のSignalRアプリケーションに2つのハブがあるとします。 私はローカルのキャッシュ辞書にconnectionsIds - > userIdsをマッピングしています。SignalR:ハブのOnDissconnectイベントは、特定のハブに対してのみ呼び出せますか?
現在のロジックはそうのようなものです:付き
OnConnected - >(それが存在しない場合)の辞書に新しい「connectionIdはUSERIDする」エントリを追加します。 OnDisconnectedで
- >辞書からエントリを「connectionIdはUSERIDする」ことを削除(存在する場合)
はHUB2は、接続を維持する一方HUB1が切断されます任意のシナリオがありますか?
もしそうなら、Hub2がまだ接続されていても辞書からエントリを削除するので、現在のロジックに欠陥があります。各ハブの2つの辞書を処理する必要があります。
P.S.私は、接続マッピングを処理するためのSignalRのドキュメントを見てきました。そして、それは常にハブごとに1つの辞書を使用しているようです。本当に必要かどうかを知りたい
こんにちはオフィール。単なる提案では、このマッピングを維持するためにシングルユーザーグループを使用することができます。実装が簡単で、辞書を維持することに重点を置く必要はありません。 [this](http://stackoverflow.com/questions/37455608/handling-concurrent-connections-in-siganlr/37458129#37458129) –
非常にエレガントなソリューション!私はその道を行くと思う。ありがとう – Ofir