У меня проблема с System.Threading.Timer. Я планирую некоторые действия, используя время в службе Windows. Таймер начинает выполнение обратного вызова после указанного периода времени ожидания. Служба Windows запускается после автоматической перезагрузки. Тем не менее, я наблюдал странную вещь после перезагрузки системы - метод обратного вызова начинает выполняться сам за 3 или 4 минуты до указанного периода. Что может быть причиной такого поведения?Таймер в службе windows
Вот пример кода:
TimeSpan timeToWait = this.StartTime - DateTime.Now;
Int64 msToSleep = (Int64)Math.Round(timeToWait.TotalMilliseconds);
_timer = new Timer(callback_method, null, msToSleep, MinutesScheduledInterval * 60000);
где _timer переменная член, время_запуска - время, когда таймер должен первым огонь.
У вас есть пример кода? –
Вы пробовали записывать значения всех переменных, участвующих в этом коде? –
Да, конечно. Здесь используются значения, которые ожидаются. – Markus