Одним словом, вы не можете.
Более подробный ответ, что есть 2 проблемы: рабочие процессы
- IIS запускаются только тогда, когда запрос HTTP приходит Это означает, что вы не можете запустить службу в системе..
- Рабочие процессы IIS перерабатываются (то есть перезапускаются) на нескольких условиях. Например, рабочий процесс перезапускается, если HTTP-запрос не появляется в течение длительного времени. Это означает, что вы не можете контролировать, когда ваша служба отключена, если у вас нет доступа к конфигурации утилизации пула приложений. Имейте в виду, что логика рециркуляции гарантирует, что все ожидающие запросы HTTP будут завершены, но не дожидаются завершения всех фоновых потоков.
Вы можете прийти с частично решить таким образом:
- Создать метод WCF службы, который проверяет, является ли ваш затянувшийся нить жив, и если нет, то запускает его.
- Создайте очень простой сервис, который периодически (один раз в 5 секунд) вызывает этот метод. Разверните службу где-нибудь, например. на вашей собственной машине.
Остается только вопрос: действительно ли вам нужно избегать служб Windows? Не могли бы вы найти место для размещения услуги? Существуют некоторые варианты использования, когда служба Windows является лучшим или даже единственным способом.
Спасибо! Я посмотрю ... и обратно! –