System.Threading.Timer에 문제가 있습니다. Windows 서비스에서 시간을 사용하여 일부 작업을 예약하고 있습니다. 타이머는 지정된 dueTime 기간 후에 콜백 실행을 시작합니다. Windows 서비스는 재부팅 후 자동으로 시작됩니다. 그러나 시스템 재부팅 후에 이상한 점을 발견했습니다. 콜백 메소드는 지정된 기간보다 3 ~ 4 분 전에 자체 실행을 시작합니다. 그러한 행동에 대한 이유는 무엇입니까? 여기 Windows 서비스의 타이머
샘플 코드이다 _timer는 멤버 변수 상영이다TimeSpan timeToWait = this.StartTime - DateTime.Now;
Int64 msToSleep = (Int64)Math.Round(timeToWait.TotalMilliseconds);
_timer = new Timer(callback_method, null, msToSleep, MinutesScheduledInterval * 60000);
- 시간 타이머 정상적으로 제 불.
코드 예제가 있습니까? –
이 코드와 관련된 모든 변수의 값을 로깅 해 보셨습니까? –
예, 물론입니다. 여기에 포함 된 값은 예상 된 값입니다. – Markus