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