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)效果的項目已經在字典的值而不看似直接