У меня есть приложение C #, которое выполняет некоторые задачи по обслуживанию. Он должен работать примерно каждый час, хотя это не так уж важно, если он немного выключен. И он должен работать на сервере Win2003, когда никто не вошел в систему.
В основном, мне интересно, должен ли я написать службу Windows, и если да, то если Thread.Sleep () является правильным способом приостановить поток на час, или есть ли лучшие способы убедиться, что поток остается бездействующим и не ставит какую-либо нагрузку на сервер? (он же самый противный спинлок)
Альтернативой является планировщик заданий Windows, но я не уверен, подходит ли он для использования на сервере, поскольку а) мне нужно было бы хранить расписание в нем, а не в моем app.config, б) я не могу легко контролировать обслуживание через запуск / останов / перезапуск и c) я не знаю, являются ли учетные данные пользователя Windows такими же безопасными, как когда я ввожу их в оснастку MMC службы.
Каково ваше мнение? Возможно ли и полезно иметь неработающий Сервис или вы бы порекомендовали вместо него планировщик задач?