Якщо ви займаєтеся ASP.NET, то обов'язково використаєте IIS
Якщо ви хочете додати заплановане завдання до свого ASP.net додатку, потрібно використовувати потік для безперервних обчислень
Тоді припустимо, ми додаємо Quartz.NET фреймворк до нашого ASP.Net додатку, і конфігурація та інше будуть прийнятними.
Цей сайт має дуже мало відвідувань, і зараз ним користуються лише кілька людей, коли вони на роботі, але наступного дня я прийшов і побачив, що потоки та завдання обчислення фонового планування зупинилися, і якщо ви захопите Application_End подію, то побачите, що ця подія дійсно була викликана.
Отже, має бути проблема з механізмом переробки пулу додатків у IIS. Оскільки стандартне налаштування IIS полягає в тому, що якщо пул додатків сайту не буде доступний або запитаний протягом певного часу, IIS автоматично повертає пул програм і зупиняє процес. Нитки в цьому процесі точно не витримають.
Однак ми можемо встановити параметри пулу додатків так, щоб їх не переробляли автоматично (деякі ситуації неминучі, наприклад, гаряче розгортання сайтів, надмірна кількість помилок тощо).
Знайдіть пул програм, який використовує цей сайт, в IIS і натисніть «Розширені налаштування...»
Змініть наступні налаштування у списку, який відкривається:
Відновлення — фіксований інтервал часу (хвилини) змінено на 0
- Обмеження віртуальної/виділеної пам'яті (KB) змінено на 0
Модель процесу — тайм-аут простою (хвилини) змінено на 0
Таким чином, пул програм не буде автоматично перероблений, і деякі прості обчислювальні потоки у фоновому режимі працюватимуть нормально |