Я создал Windows Службу, которая не должна автоматически включаться
Я создал таймер как таковой
private Timer timer1 = null;
timer1 = new Timer();
timer1.Interval = 6000;
timer1.Elapsed += new ElapsedEventHandler(timer1_Tick);
timer1.Enabled = true;
timer1.AutoReset = false;
Затем метод отметки таймера
private void timer1_Tick(object sender, ElapsedEventArgs e)
{
if (!IsServerConnected(db.Connectionstring))
{
//Error Handling
timer1.Interval = 300000;
}
else
{
if (!Directory.Exists(cfg.CSVPath))
{
//error handling
timer1.Interval = 300000;
}
else
{
timer1.Interval = 60000;
//Code
}
}
timer1.Start();
}
Таймер будет срабатывать через 6 секунд, как и предполагалось, и затем попадет в секцию timer1.Interval = 60000;
после того, как не обнаружит ошибок.
Однако код в комментарии занимает больше минуты. Через минуту, хотя код все еще выполняется в Timer1_Tick, событие снова запускается, хотя мне не следовало запускать таймер обратно.
Может кто-нибудь увидеть, где я иду не так? Устанавливает ли интервал автоматически запуск резервного копирования таймера? Поэтому мне не нужно Timer1.Start () в конце моего кода, а установить интервал после завершения всего моего кода? Любая помощь будет оценена, спасибо.
ОБНОВЛЕНИЕ
Я попытался остановить таймер
timer1.Enabled = false;
timer1.Stop();
Перед установкой интервала, однако это также вызывает несколько тиков