У меня есть проект, который контролирует несколько служб Windows в системе.Этот проект осуществляет мониторинг всех этих служб, независимо от того, работают они или нет.Если они перестали работать, отправителю по электронной почте будет отправлено соответствующее письмо.
Для управления всем этим существует несколько таймеров для нескольких служб.Что-то вроде -
System.Timers.Timer ServiceOneTimer;
System.Timers.Timer ServiceTwoTimer;
Имея таймер с определенным интервалом, По их событию Elapsed проверяется состояние этой конкретной службы -
private void ServiceOneTimer_Elapsed(object sender, ElapsedEventArgs e)
{
ServiceOneTimer.Stop();
bool isRunning = CheckServiceOne();
if (!isRunning)
SendMail("Sevice 1 has been stopped");
}
Мне было интересно, есть ли лучший способдля достижения этой цели?Поскольку в будущем может быть много услуг, которые должны быть мониторами.Использование таймера в этом случае целесообразно?или что-то еще типа Thread
следует использовать?