0
我使用SignalR 2.2倍和通过的Mircosoft in their documentation hereSignalR ConnectionMapping添加方法说明
我无法让我的头周围的代码块特定的解释在内存连接映射实现。我理解的目的是将所有的连接映射到用户,但在添加方法
public void Add(T key, string connectionId)
{
lock (_connections)
{
HashSet<string> connections;
if (!_connections.TryGetValue(key, out connections))
{
connections = new HashSet<string>();
_connections.Add(key, connections);
}
lock (connections)
{
connections.Add(connectionId);
}
}
}
局部变量创建连接,那么如果从字典中TryGetValue为null,则连接分配新HashSet并将其添加到指定密钥的Dictionary中,然后逐出if语句,否则将使用分配给密钥的内容进行填充。
为什么然后可以connections.Add(的ConnectionId)效果的项目已经在字典的值而不看似直接