각 시간 간격으로 작업을 예약하기 위해 타이머가있는 Windows 서비스로 작업하고 있습니다. 타이머 경과 이벤트가 두 번 이상 발생하는 것으로 보입니다. 여기System.Timers.Timer 경과 된 이벤트가 Windows 서비스에서 두 번 이상 발생했습니다.
코드 샘플 :
private static System.Timers.Timer _timer = new System.Timers.Timer();
protected override void OnStart(string[] args)
{
_timer.Elapsed += new System.Timers.ElapsedEventHandler(OnTimedEvent);
_timer.Interval = 1000;
_timer.Enabled = true;
_timer.Start();
}
private void OnTimedEvent(object source, System.Timers.ElapsedEventArgs e)
{
_timer.Enabled = false;
_timer.Stop();
//Do the job
_timer.Enabled = true;
_timer.Start();
}
당신이 날 도와 드릴까요? 는
MSDN에서 시작 : - 시작() - Enabled를 true로 설정하여 Elapsed 이벤트 *를 시작합니다. * ' – Blachshma
코드에 버그가 있습니다. 서비스를 두 번 이상 시작하면 다른 이벤트 핸들러가 추가됩니다. –