/// <summary>
 /// 发送超时通知
 /// </summary>
 /// <param name="messageSummary"></param>
 /// <returns></returns>
 public async Task SendTimeout(MessageSummary messageSummary)//List<string> receiverConnectionIds)
 {
     // TODO ,找到教师机分组
     //var teacherGroup =
     //var clients = _clientStorage.StudentList.Where(p=>receiverConnectionIds.Contains(p.Value))
     await _hubContext.Clients.Client(messageSummary.Sender).Timeout(messageSummary);
 }
        /// <summary>
        /// 保存消息记录
        /// </summary>
        /// <param name="eventType"></param>
        /// <param name="commandType"></param>
        /// <param name="sender"></param>
        /// <param name="receivers"></param>
        /// <param name="data"></param>
        public MessageSummary SaveMessage(string sender, List <MessageReceiver> receivers, string eventType, string commandType, object data)
        {
            var message = new MessageSummary()
            {
                EventType   = eventType,
                CommandType = commandType,
                Sender      = sender,
                Receivers   = receivers,
                Data        = data
            };

            MessageRecords.Add(message);
            return(message);
        }