Я создал службу Windows для нашего клиента, которая собирает все измененные / новые строки из базы данных, превращает их в CSV и FTP загружает их где-то каждую ночь. Теперь выясняется, что у них нет доступа для установки или запуска службы Windows (это решение, размещенное только в веб-пути).
Я подумал, что было бы достаточно легко изменить код службы Windows для запуска внутри процесса ASP.Net и создать его из Global.asax (я делал это в прошлом, размещая службу WCF из проекта MVC). ). Мы находимся на ASP.Net 4.0 с использованием веб-форм, и эта задача запускает Quartz и OpenPG каждую ночь в полночь (или в другое настроенное время).
Мой начальник беспокоился о том, что процесс хостинга спит или выгружается в течение длительных периодов, когда никто не заходит на сайт. Я почти уверен, что этого не произойдет, но я не знаю с абсолютной уверенностью.
Будет ли это работать так, как я думаю, или возникнет какая-то проблема с такой реализацией?
Спасибо!
Редактировать: я знаю, что вы "можете" (создать объект и вызвать метод, который не блокирует выполнение Application_Start, которое запускает таймер или фоновый поток или что-то и запускает код в фоновом режиме), но это хорошая идея и будет ли процесс размещения ASP.Net спать / убивать поток, на котором он работает? Если это так, могу ли я создать новый поток (либо создать свой собственный поток, либо использовать один из пула), и он будет работать бесконечно, не будучи уничтоженным?