我将 SignalR 用于 Web 聊天应用程序,但遇到了下一个问题。我有一个连接和两个组。我尝试向这两个组和我的 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”没有发送消息的情况。等等。我该如何决定这个问题?