我有一个项目,该项目监视系统中的多个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
之类的东西?