9 Stimmen

Verhindern, dass IIS eine ASP.Net-Site entlädt

Wie kann ich verhindern, dass eine ASP.Net-Site von IIS entladen wird?

Ich habe die vielleicht dümmste Website der Welt - einmal pro Stunde wacht sie auf und schreibt einen Zeitstempel in eine Protokolldatei. Wenn die Anwendung startet, wird dies mit einem Zeitstempel im Protokoll vermerkt, und wenn sie beendet wird, geschieht dasselbe.

Im IIS ging ich in den Anwendungspool und setzte die Leerlaufzeit auf 0 und setzte Generate Recycle Event Log Entry > Regular Time Interval auf False.

Dennoch entlädt sich die Website immer noch etwa einmal pro Tag - ich erhalte den Eintrag App Unloading... im Protokoll und sie bleibt bis zu meinem nächsten Besuch tot.

Wie kann ich das Entladen verhindern?

(Natürlich wird diese Website mehr tun, sobald ich das Problem gelöst habe - im Moment ist es so einfach wie möglich, das Problem zu isolieren).

18voto

jlew Punkte 10224

Der Anwendungspool verfügt über eine weitere Eigenschaft, die bewirkt, dass er automatisch alle N Minuten recycelt wird (Standardwert ist 1740, d. h. alle 29 Stunden.) Setzen Sie diesen Wert auf Null, um das Recycling zu deaktivieren. Die Eigenschaft befindet sich (bei IIS7) unter der Überschrift "Recycling" und heißt "Regelmäßiges Zeitintervall (Minuten)".

1voto

Chris Moschini Punkte 34996

Zusätzlich zur Empfehlung von @jlew ist die Anleitung in diesem Artikel wichtig, wenn Sie einen Hintergrund-Task/Timer kontinuierlich/periodisch in ASP.Net ausführen, ohne den Installations-/Konfigurations-/Wartungsaufwand von Windows-Diensten und geplanten Tasks:

http://haacked.com/archive/2011/10/16/the-dangers-of-implementing-recurring-background-tasks-in-asp-net.aspx

Es enthält eine nützliche Hilfsbibliothek, WebBackgrounder, die die Ratschläge in diesem Artikel abstrahiert, um ein geordnetes Herunterfahren und einige der typischen Wünsche/Bedürfnisse einer Hintergrundaufgabe zu behandeln.

Es konfiguriert IIS nicht für Sie - Sie müssen die Recycling-Einstellungen selbst ändern.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X