Я бы выбрал отдельную службу Windows в первую очередь по указанным вами причинам:
- При необходимости вы можете запустить его на другом сервере.
- Вы можете запускать и останавливать его независимо от веб-сайта.
Я бы также добавил, что это может оказать некоторое влияние на производительность самого веб-сайта - то, чего вы хотите избежать.
Модное слово здесь - «разделение интересов». Веб-сайт занимается представлением данных пользователю, службой проверки целостности данных.
Вы также можете обновлять веб-сайт и сервис независимо друг от друга, если вам нужно.
Я собирался предложить вам посмотреть на запланированное задание и позволить Windows контролировать выполнение процесса, но я перечитал ваш вопрос и отметил, что вы хотите, чтобы проверки запускались каждые пару минут. Затраты на запуск процесса могут быть слишком большими в этом случае - хотя некоторые эксперименты могут доказать это так или иначе.
Если вы используете запланированное задание, есть также вероятность, что вы можете начать следующую проверку до того, как завершится текущая, - то, что вы можете кодировать, если вы полностью контролируете.