есть преимущества и недостатки в любом случае.я склоняюсь к тому, чтобы выбрать службы Windows, потому что это облегчает ваше развертывание.планирование вещей с помощью планировщика задач Windows является сценарием и может быть автоматизировано для развертывания на новой машине / в среде, но это все же немного более нестандартно, чем просто развертывание и установка службы Windows.вы также должны убедиться, что с планировщиком задач он работает под учетной записью, которая может выполнять вызов веб-службы, и что у вас не возникнет проблем с истечением срока действия паролей и неожиданным запуском запланированных задач.однако в случае службы Windows вам нужно выполнить какую-то проверку, чтобы убедиться, что она всегда работает и что, если она перезапустится, вы не потеряете состояние hte, которое сообщит ей, когда она должна работать дальше.
другой вариант, который вы могли бы рассмотреть, - это использование nservicebus sagas.Саги действительно предназначены не только для планирования задач (они сохраняют состояние для процессов типа рабочих процессов, которые длятся дольше, чем длительность одного запроса / сообщения), но у них есть хороший способ обработки периодических или основанных на времени процессов (чтобольшая часть длительных рабочих процессов).тем, что сага может запросить, чтобы она возвратила сообщение от менеджера тайм-аута в то время, когда она запрашивает.Использование nservicebus - это более сложный архитектурный вопрос, и, вероятно, он выходит далеко за рамки того, о чем вы здесь говорите, но саги стали тем, как я думаю о периодических процессах, и это дает дополнительное преимущество, заключающееся в возможности управлять некоторым постоянным состоянием для вашего процесса (которыйможет или не может быть проблемой) и дает вам повод задуматься о некоторых архитектурных вопросах, которые, возможно, вы не рассматривали ранее.