2010-10-08 16 views
37

In IIS7, la proprietà processModel.idleTimeout può essere impostata in un pool di applicazioni. Un processo di lavoro si spegnerà dopo questo periodo di inattività specificato.Come impedire/estendere idleTimeout in IIS 7?

Tuttavia, io uso Application_Start per eseguire un numero di lavori. Se non ci sono visitatori del sito Web, i lavori verranno eliminati e non verranno eseguiti in tempo.

In IIS 7, il Tempo Regular Intervallo (periodicRestart), che specifica quando il riciclaggio processo avviene, deve essere più grande del idleTimeout.

È abbastanza sicuro se si impostano valori maggiori per idleTimeout e periodicRestart?

risposta

52

Per evitare che l'applicazione si interrompa e si trovi sul lato sicuro, ho configurato il tempo di inattività a 0 (infinito) e periodicRestart sul valore predefinito (1740 minuti).

Dopo alcuni giorni di lavoro con questa configurazione, non ho riscontrato problemi finora. L'applicazione non si chiude ed è abbastanza sicuro che dopo 1740 minuti verrà riavviato.

+11

Secondato ... È anche possibile impostare un riavvio notturno fisso (2:00) anziché l'intervallo di 29 ore predefinito. :) – JohannesH

+0

Non riesco a farlo funzionare. Ho impostato idleTimeout su 0, eppure IIS scarica la mia applicazione ASP.NET dopo circa 10 minuti. Gli utenti si lamentano che la prima volta che visitano il sito web ci vogliono circa 20 secondi per vederlo. Le richieste successive non richiedono tempo (come 1-2 secondi). – Azimuth