Если вы хотите, чтобы задача выполнялась с регулярным интервалом, а не постоянно, вам следует использовать Планировщик задач .
Если вам нужен код для обслуживания,но, чтобы быть «активированным» каждый час, самый простой подход состоял бы в том, чтобы сделать ваш сервис COM-объектом и назначать на него простую задачу, каждый час вызывающую jscript / vbscript, который создает ваш COM-объект и вызывает простой метод для него.
Альтернативой является использование любого из API-интерфейсов ожидания, чтобы «тратить» час без использования циклов.
Обратите внимание, что вам также необходимо учитывать некоторые интересные конструктивные решения, которые зависят от сценария:
- как будет запускаться ваша служба, если она выйдет из строя или будет остановлена пользователем?
- если вы запустились более чем через час, должны ли вы снова работать или вам нужнождать, чтобы перейти на точное часовое расписание?
- как вы отслеживаете последнее время «активации», если часовой пояс или летнее время имеет chЕсли вы не были активны?
- Служба не позволяет вашему компьютеру переходить в спящий режим / режим гибернации на холостом ходу или когда крышка ноутбука закрыта?если нет, то нужно ли вам разбудить компьютер в час, чтобы ваша служба работала по вашему расписанию?
Некоторые из них выполняются планировщиком задач, поэтому я настоятельно рекомендую сделать так, чтобымаршрут против ожидания часа в вашем коде.