/// <summary> /// 通知消息 /// </summary> /// <param name="status"></param> public void Notify(ServerStatus status) { _pushTime = DateTime.Now; _innerListener.Push(status); }
public void Push(ServerStatus serverStatus) { //服务端定时状态信息 }
/// <summary> /// 服务状态信息 /// </summary> /// <returns></returns> public ServerStatus GetServerStatus() { ServerStatus status = new ServerStatus { StartDate = startTime, TotalHours = config.RecordHours, Highest = GetHighestStatus(), Latest = GetLatestStatus(), Summary = GetSummaryStatus() }; return status; }
/// <summary> /// 响应状态信息 /// </summary> /// <param name="status"></param> public void Notify(ServerStatus status) { if (_listeners.Count == 0) return; MessageListener[] listeners = _listeners.ToArray(); foreach (MessageListener lstn in listeners) { try { var options = lstn.Options; //如果设定的时间不正确,不进行推送 if (options.ServerStatusTimer <= 0) continue; //如果推送时间大于设定的时间,则进行推送 if (options.PushServerStatus && DateTime.Now.Subtract(lstn.PushTime).TotalSeconds >= options.ServerStatusTimer) { lstn.Notify(status); } } catch (SocketException ex) { RemoveListener(lstn); } catch (Exception ex) { if (OnError != null) OnError(ex); } } }