Domanda

Come impedisci a un sito ASP.NET di essere scaricato da IIS?

Ho quello che potrebbe essere il sito web più stupido del mondo: una volta all'ora si sveglia e scrive un timestamp in un file di registro. Quando l'app inizia, lo dice con un timestamp nel registro e quando muore, la stessa cosa.

In IIS sono entrato nel suo pool di applicazioni e ho impostato il timeout del minimo su 0 e ho set Genera Regy Event Log Ingresso> Intervallo di tempo regolare su False.

Eppure il sito si scarica ancora circa una volta al giorno: ricevo la voce di scarico dell'app nel registro e rimane morta fino a quando non lo visiterò.

Come impedisci che lo scarica?

(Ovviamente questo sito farà di più una volta risolto questo - per ora è il più semplice possibile isolare il problema.)

È stato utile?

Soluzione

Il pool di applicazioni ha un'altra proprietà che lo fa riciclare automaticamente ogni N (impostazione predefinita fino al 1740 o ogni 29 ore). Fai questo zero per disabilitare il riciclaggio. La proprietà è (su IIS7) sotto l'intestazione del "riciclaggio" e si chiama "intervallo di tempo regolare (minuti)"

Altri suggerimenti

Oltre alla raccomandazione di @JLEW, la guida in questo articolo è importante se si esegue un'attività/timer in background continuamente/periodicamente in ASP.NET senza l'onere di installazione/configurazione/manutenzione dei servizi di Windows e attività programmate:

http://haacked.com/archive/2011/10/16/thengers-of-implementing-recuurring-background-tasks-in-asp-net.aspx

Include un'utile libreria di aiutanti, Webbackgrounder, che estrae i consigli nell'articolo per gestire l'arresto grazioso e alcune delle esigenze/esigenze tipiche di un compito di fondo.

Non configura IIS per te: dovrai modificare tu stesso le impostazioni di riciclaggio.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top