Обратный вызов таймера повышается каждые 24 часа - правильно ли обрабатывается летнее время?

Я просто подумал о том, как я решил службу, которая запускает задачу каждые 24 часа, и о том, как DST может повредить ее.

Для ежедневного запуска задачи я использовал System.Threading.Timer с периодом 24 часа, например:

_timer = new System.Threading.Timer(TimerCallback, null,
    requiredTime - DateTime.Now, new TimeSpan(24, 0, 0));

Внезапно подумав о коррекции перехода на летнее время, у меня возникли три мысли:

DST бесполезен, и мы должны избавиться от него.Таймер справляется с этим правильно? Я думаю, что нет - он просто ждет 24 часа - независимо от того, изменились ли часы. Просто ждетуказанный период, а затем снова вызывает TimerCallback.DST бесполезен, и мы действительно должны от него избавиться.

Правильна ли моя вторая мысль? Если да, что я могу сделать, чтобы избежать этой проблемы? Задача не должна выполняться на час позже или раньше, если произошла коррекция летнего времени.

Ответы на вопрос(3)

Ваш ответ на вопрос