Ak robíš ASP.NET, určite použiješ IIS
Ak chcete pridať plánovanú úlohu do svojej ASP.net aplikácie, musíte použiť vlákno na nepretržité plánované výpočty
Potom povedzme, že pridáme Quartz.NET framework do našej ASP.Net aplikácie a konfigurácia a podobne sú v poriadku.
Táto stránka má veľmi málo návštev a teraz ju používa len pár ľudí, keď sú v práci, ale na druhý deň som prišiel a videl som, že vlákna a výpočtové úlohy plánovania na pozadí boli zastavené, a ak si stiahnete Application_End udalosť, zistíte, že táto udalosť bola skutočne volaná.
Potom musí byť niečo zlé s recyklačným mechanizmom aplikačného bazénu IIS. Pretože predvolené nastavenie IIS je, že ak sa aplikačný pool lokality nepristupuje alebo nie je požadovaný určitý čas, IIS automaticky získa programový pool späť a proces sa zastaví. Vlákna v tomto procese určite neprežijú.
Môžeme však nastaviť parametre aplikačného poolu tak, aby neboli automaticky recyklované (niektoré situácie sú nevyhnutné, napríklad horúco nasadené lokality, nadmerný počet chýb a pod.)
Nájdite programový pool, ktorý táto stránka používa v IIS, a kliknite na "Pokročilé nastavenia..."
Zmeňte nasledujúce nastavenia v zozname, ktorý sa otvorí:
Obnova - Pevný časový interval (minúty) zmenený na 0
- Limit virtuálnej/dedikovanej pamäte (KB) zmenený na 0
Model procesu - Časový limit nečinnosti (minút) sa mení na 0
Týmto spôsobom sa programová skupina automaticky nerecykluje a niektoré jednoduché výpočtové vlákna na pozadí budú fungovať normálne |