/// <inheritdoc /> protected override void Start(string[] args) { //加入到时间定时器 _taskList.ForEach(task => { switch (task.TimeType) { case EumTimeType.Timing: if (task.Week == null) { TimingTasks.Timing(t => StartWork(task.Tasks), task.Day, task.Hour, task.Minute, task.Second); } else { TimingTasks.Timing(t => StartWork(task.Tasks), task.Week.GetValueOrDefault(), task.Hour, task.Minute, task.Second); } break; case EumTimeType.Interval: { TimingTasks.Interval(t => StartWork(task.Tasks), task.Day, task.Hour, task.Minute, task.Second, task.Millisecond); break; } } }); }
/// <summary>服务主函数</summary> public static void ServerMain() { //提升进程优先级 Process.GetCurrentProcess().PriorityClass = ProcessPriorityClass.High; //每10秒钟检测一下服务状态。 TimingTasks.Interval(o => ChecState(_isAutoStartServer), 10, 0); // 当前进程运行时的参数 var args = Environment.GetCommandLineArgs(); if (args.Length > 1) { Instance.Receive(args[1]); } else { Console.Title = Instance.DisplayName; Instance.ShowStatus(); Instance.Receive(); } }
/// <summary>服务停止事件</summary> protected override void OnStop() { _taskList.Clear(); TimingTasks.Clear(); }