监视多个Windows服务的最佳方法是哪种-计时器或线程

时间:2018-10-18 02:16:21

标签: c# multithreading winforms timer

我有一个项目,该项目监视系统中的多个Windows服务。该项目的作用是监视所有这些服务是否正常运行。如果他们停止工作了,那么将会有一封关于此事的邮件发送给关注者。

要管理所有这些,有多个计时器可用于多种服务。像-

System.Timers.Timer ServiceOneTimer;
System.Timers.Timer ServiceTwoTimer;

具有一个具有特定间隔的计时器,在其经过的事件中,将检查该特定服务的状态-

private void ServiceOneTimer_Elapsed(object sender, ElapsedEventArgs e)
{
    ServiceOneTimer.Stop();
    bool isRunning = CheckServiceOne();

    if (!isRunning)
        SendMail("Sevice 1 has been stopped");
} 

我想知道是否有更好的方法来实现这一目标?由于将来可能需要监视许多服务。在这种情况下是否建议使用计时器?还是应该使用类似Thread之类的东西?

0 个答案:

没有答案