Ja darāt ASP.NET, noteikti izmantosiet IIS
Ja vēlaties savai ASP.net lietojumprogrammai pievienot ieplānotu uzdevumu, ir jāizmanto pavediens, lai nepārtraukti veiktu plānotos aprēķinus
Tad pieņemsim, ka mēs pievienojam Quartz.NET ietvaru mūsu ASP.Net lietojumprogrammai, un konfigurācija un tā tālāk ir labi.
Šai vietnei ir ļoti maz apmeklējumu, un tagad tikai daži cilvēki to izmanto, kad viņi ir darbā, bet nākamajā dienā es atnācu un redzēju, ka fona plānošanas pavedieni un aprēķinu uzdevumi ir apturēti, un, ja jūs paņemat Application_End pasākumu, jūs atradīsit, ka šis notikums faktiski tika izsaukts.
Tad kaut kas nav kārtībā ar IIS lietojumprogrammu baseina pārstrādes mehānismu. Tā kā IIS noklusējuma iestatījums ir tāds, ka, ja vietnes lietojumprogrammu pūls netiek piekļūts vai pieprasīts kādu laiku, IIS automātiski atgūst programmu pūlu un pārtrauc procesu. Pavedieni šajā procesā noteikti neizdzīvos.
Tomēr mēs varam iestatīt lietojumprogrammu baseina parametrus tā, lai tie netiktu vienkārši automātiski pārstrādāti (dažas situācijas ir neizbēgamas, piemēram, karsti izvietotas vietnes, pārmērīgs kļūdu skaits utt.)
Atrodiet programmu pūlu, ko izmanto šī vietne IIS, un noklikšķiniet uz "Papildu iestatījumi..."
Atvērtajā sarakstā mainiet šādus iestatījumus:
Atkopšana - fiksēts laika intervāls (minūtes) mainīts uz 0
- Virtuālās/atvēlētās atmiņas ierobežojums (KB) mainīts uz 0
Procesa modelis — dīkstāves taimauts (minūtes) tiek mainīts uz 0
Tādā veidā programmu baseins netiks automātiski pārstrādāts, un daži vienkārši skaitļošanas pavedieni fonā darbosies normāli |