/// <summary> /// 发送消息 /// </summary> /// <param name="model"></param> /// <returns></returns> public async Task Send(MessageViewModel model) { if (!model.IsValid()) { } // 获取发送者的信息 var code = model.SessionCode; var connectionId = Context.ConnectionId; var sender = _onlineMeetingRoomManager.GetParticipantByConnectionId(code, connectionId); var room = await _meetingRoomManager.GetBySessionCodeAsync(code); if (sender != null && room != null) { // 持久化消息 var message = new Message(sender.Id, sender.Nickname, model.Content, sender.Language, model.IsVoice, model.VoiceFile); room.AppendMessage(message); await _meetingRoomManager.UpdateAsync(room); // 发送消息到群组中 var result = _mapper.Map <Message, ReturnMessage>(message); await Clients.Group(code).SendAsync("ReceiveMessage", result); } }