2009-05-06 10 views
19

Gibt es eine Möglichkeit (log), um den Grund zu überwachen für eine ASP.NET-Anwendung neu zu starten?Wie der Grund von ASP.NET-Anwendung Neustart zu entdecken

Wir haben jetzt Probleme mit ziemlich komplexen Website. Es wird beim Datei-Upload neu gestartet. Nicht auf jeder Akte, aber auf jedem 5.-10. Wir verwenden einen benutzerdefinierten VirtualPathProvider, das könnte ein Grund sein. Wir haben auch Hintergrundarbeiter-Threads, und das könnte auch ein Grund sein. Es wäre schön, den Grund dafür zu kennen.

Problem tritt auf XP (IIS 5.1) und Windows Server 2003 (IIS 6).

Auflösung:

Danke Jungs, haben wir es fangen verwaltet. Es wird durch max. Rekompilierungen erreicht. Am wahrscheinlichsten ist das Problem in unserem VirtualPathProvider, aber das ist eine ganz andere Frage.

Zusammenfassung der Ansätze:

  1. Hack in ScottGu Blog perfekt funktioniert.
  2. Monitoring über machine.config ist auch toll, aber ich ziehe es in unserem Protokoll zu protokollieren.
  3. Wie sich herausstellte, ist einfachste Lösung HostingEnvironment.ShutdownReason Eigenschaft in meinem Application_End Methode zu überprüfen.
+0

Bitte sagen Sie, welche Version von IIS Sie verwenden. Ich glaube, IIS 7 hat diese Ereignisse im Windows-Ereignisprotokoll protokolliert. –

+0

Getestet auf XP und Windows Server 2003. So seine IIS 5.1 und 6. – XOR

+0

Bitte seien Sie spezifischer. An welchem ​​Punkt startet es neu? – haroldcampbell

Antwort

5

Das Hinzufügen oder Entfernen von Ordnern innerhalb des Anwendungsordners führt dazu, dass der App-Pool wiederverwendet wird (der wahrscheinlichste Grund in Ihrem Fall), zusammen mit vielen anderen Dingen. Hier ist ein interessanter Artikel:

http://blogs.msdn.com/johan/archive/2007/05/16/common-reasons-why-your-application-pool-may-unexpectedly-recycle.aspx

am gleichen Ort sind einige gute Hinweise, wie die Neustarts zu überwachen das ist, was Sie tatsächlich fragen. Die Auswahlmöglichkeiten sind web.config und EventViewer oder Systemmonitor.

http://blogs.msdn.com/johan/archive/2008/02/18/monitoring-application-pool-and-application-restarts.aspx

+0

Ich weiß. Aber wir schreiben nichts in ein bin-Verzeichnis. Configs sind ebenfalls unberührt. Wir haben auch sehr wenige ASPX-Seiten und sie werden nicht geändert. In der Tat ist dies Web-Anwendung - altmodischen Ansatz, wenn Sie alles in bin Verzeichnis kompilieren. (Aber das ist nicht * vorkompilierte Site *). – XOR

+0

Ja, aber wohin gehen deine hochgeladenen Dateien? Erstellst du Benutzerordner oder irgendetwas? Liegt es im ROOT der App? z.B. C: \ inetpub \ wwwroot \ myapp –

+1

Weitere Informationen hinzugefügt, um herauszufinden, was passieren könnte. –

2

Tess Ferrandez, ASP.NET Escalation Engineer hat einen guten Blog mit allen möglichen Tipps und Tricks zum Debuggen von ASP.NET-Anwendungen.

Die Beiträge, die Sie besonders interessiert sind, sind:

Sie Sie durch den Schritt in der Arbeit aus, was das Problem beteiligt dauert ist, und wie zu lösen es.

Eine weitere Sache, auf die Sie achten sollten, ist Antivirensoftware, die Dateien im Stammverzeichnis der Site scannt - dies könnte das Änderungsdatum der Datei ändern und dazu führen, dass die App wiederverwendet wird.

+0

Danke! Ihr Blog ist großartig. – XOR