2

HUB で生成されたと何らかの方法で関連付けることができるようにする必要がありますList<string>(コントローラーにロードされます) 。connectionId

私の MVC アプリには、List<string>いくつかのデータを入力するアクションがあります。ConnectionIdページが読み込まれた後、新しいものが生成されるハブで OnConnected メソッドが実行されます。それを私の と関連付けたいConnectionIdと思いList<string>ます。

アクションが完了した後に OnConnected が実行されるため、別の方法があるとは思いません。ある?

List (またはその他のオブジェクト) をハブに渡して、特定の ConnectionId に関連付けるにはどうすればよいですか?

ありがとう

4

1 に答える 1

1

ハブにデータを渡す代わりに、ハブからデータを取り込みます。

たとえば、静的辞書/リストを使用して、2 つの相互参照を作成できます。

public class MyHub : Hub
{
    public override OnConnected()
    {
        MyController.Associate(Context.ConnectionId);
    }
}

public class MyController
{
    public static ConcurrentDictionary<string, List<string>> cidToList = new ConcurrentDictionary<string, List<string>>();
    public static List<string> mylist = new List<string>();

    public static void Associate(string cid)
    {
        cidToList.TryAdd(cid, mylist);
    }
}
于 2013-03-19T00:29:30.977 に答える