private void Token_UserDisconnect(ASyncToken arg1, string arg2) { if (arg1.UserToken != null) { var user = arg1.Token <UserInfo>(); if (user != null && user.FilePushDictionary.Count > 0) { foreach (var item in user.FilePushDictionary.Values) { item.Dispose(); } } user.FilePushDictionary.Clear(); if (user != null && user.FileGetDictionary.Count > 0) { foreach (var item in user.FileGetDictionary.Values) { item.Dispose(); } } user.FileGetDictionary.Clear(); } }
private static void AsyncUser_UserDisconnect(ASyncToken arg1, string arg2) { var userinfo = arg1.Token <UserInfo>(); if (userinfo != null) { lock (UserList) { if (UserList.Contains(userinfo)) { UserList.Remove(userinfo); } foreach (var item in UserList) { item.token.RemoveUser(userinfo); } } } }