添加/删除与多个组的连接

时间:2013-11-11 14:06:20

标签: c# multithreading task-parallel-library signalr signalr-hub

我使用SignalR进行网络聊天应用,我遇到了下一个问题。我有一个连接和两个组。我尝试为这两个组和我的connectionId集合添加一些连接:

public override Task OnConnected()
{
    ...

    Groups.Add(Context.ConnectionId, "Group1");
    Groups.Add(Context.ConnectionId, "Group2");
    connections.add(Context.ConnectionId, "online");

    ...
    return base.OnConnected();
}

我认为这不是线程安全的功能,因为当前线程的中断可能发生在这三个操作之间。我需要在SignalR组和ConnectionId的集合中同步信息。我的意思是当“Group1”向ConnectionId发送消息并且“Group2”没有成功时,没有任何情况。等等。我该如何判断这个问题?

0 个答案:

没有答案