0

SignalRグループ(ハブクラス)を反復処理するにはどうすればよいですか? Groups.Add(Context.ConnectionId, "foo");

グループ内の誰を確認するために、どのようにグループを反復処理しますか?そして、おそらくそこにあるconnectionIdに基づいてユーザーを返します

4

2 に答える 2

3

SignalR ドキュメントから:

グループはサーバー上に永続化されないため、アプリケーションはどの接続がどのグループにあるかを追跡する責任があり、グループ数などを達成できます。

いいえ、グループ内のユーザーを反復処理することはできません。自分で追跡する必要があります。

于 2012-08-08T18:55:07.083 に答える
1

クライアントが接続/切断/再接続するときにディクショナリを実装する可能性があります

public static readonly ConcurrentDictionary<string, object> _connections 
       = new ConcurrentDictionary<string, object>();

public Task Connect()
{
    _connections.TryAdd(Context.ConnectionId, null);
    Groups.Add(Context.ConnectionId, "users");
    //Returns Connection count. 
    return Clients.tally(_connections.Count.ToString());
}

これを拡張して名前やグループなどを含めることができますが、akoeplinger say のように、アプリ全体でこれを追跡する必要があります。

于 2012-08-14T10:48:25.243 に答える