public static Dictionary <string, LoginedSeller> Update(Dictionary <string, LoginedSeller> sellers, out HashSet <string> closed) { closed = new HashSet <string>(); var newNicks = new Dictionary <string, LoginedSeller>(); foreach (var skv in sellers) { if (!_cachedSellers.ContainsKey(skv.Key)) { var chatDesk = ChatDesk.GetDeskFromCache(skv.Key); if (chatDesk != null) { chatDesk.CheckAlive(); closed.Add(skv.Key); Log.Error("Detected, 检测到异常的ChatDesk"); } else { newNicks[skv.Key] = skv.Value; } } QnHelper.Detected._sellerHistory[skv.Key] = DateTime.Now; } foreach (var oldNick in _cachedSellers) { if (!sellers.ContainsKey(oldNick.Key)) { closed.Add(oldNick.Key); } } _cachedSellers = sellers; return(newNicks); }
public static void Close(string nick) { var desk = ChatDesk.GetDeskFromCache(nick); if (desk == null) { Log.Error("AssistModeHelper.Close,desk不存在,nick=" + nick); } else { desk.Dispose(); } }