/// <summary> /// 用户登录(需要更新列表) /// </summary> public async Task SendUserLogin() { GetUserList(); var chatUserLoginVM = new ChatUserLoginVM { LoginUser = new TzChatUser(UserVM), ChatUserList = ChatUserList }; await Clients.All.SendAsync("SendUserLogin", chatUserLoginVM); }
/// <summary> /// 重写断开事件 /// </summary> /// <param name="exception"></param> /// <returns></returns> public override Task OnDisconnectedAsync(Exception exception) { // var user = ChatUserList.FirstOrDefault(u => u.UserName.Equals(_tzChatRepository.GetThisName())); //var user = ChatUserList.SingleOrDefault(u => u.UserName == TzEncryptHelper.StringEncrypt(_tzChatRepository.GetThisName())); var user = ChatUserList.SingleOrDefault(u => u.ConnectionId == Context.ConnectionId); //判断用户是否存在,存在则删除 if (user != null) { //删除用户 ChatUserList.Remove(user); } //更新所有用户的列表 GetUserList(); var chatUserLoginVM = new ChatUserLoginVM { //LoginUser = new TzChatUser(UserVM), LoginUser = new TzChatUser(TzChatStatus.OnUserVM), ChatUserList = ChatUserList }; Clients.All.SendAsync("UserUnonline", chatUserLoginVM); return(base.OnDisconnectedAsync(exception)); }