5

わかりましたので、私はこのコードを持っています

var c = GlobalHost.ConnectionManager.GetHubContext<SomeHubClass>().Clients;

これから、クライアントは、IGroupManager グループを持つ IHubConnectionContext を持つ IHubConext を返します。これからすべてのグループ名を取得する方法はありますか? これは signalR インターフェイスでも可能ですか、それとも各ハブのすべてのグループを自分で追跡する必要がありますか?

4

2 に答える 2

15

SignalR には、グループ全体を管理したり、グループを反復処理したり、グループの要約リストを取得したりするための API が公開されていません。グループの追加または削除のみを行うことができます。グループ名のリストを保持したい場合は、おそらく SomeHubClass にシングルトン パターンを使用してください。List<string>簡単にアクセスできるシングルトンのグループ名を保持するか、接続 ID の名前とハッシュセットの両方をマップすることさえできますが、Dictionary<string, HashSet<string>>このインスタンスではおそらくやり過ぎです。

ハブのシングルトンの実装については、 http: //www.asp.net/signalr/overview/hubs-api/hubs-api-guide-server#callfromoutsidehub を参照してください。

于 2013-10-13T23:56:35.493 に答える