Artikel-ID: 319947 - Geändert am: Sonntag, 13. Mai 2007 - Version: 3.5 Fehler: Mehrere ASP.NET-Anwendung Neustarts auftreten 1 alle 5 Minuten
ProblembeschreibungWenn viele neue ASPX, ASCX oder ASMX-Dateien an einen Server weitergegeben werden, meldet der Server möglicherweise aufeinander folgenden Neustarts für einige Zeit später. Dieses Problem kann auf verschiedene Arten angezeigt:
UrsacheIn der Standardeinstellung beim Aktualisieren von weniger als 15 Dateien in ASP.NET die Dateien werden kompiliert und in den Speicher mit den alten Versionen der kompilierten Dateien geladen. Dies ist ein Feature der .NET-Common Language Runtime mit dem Namen Side-by-Side-Ausführung. Jedoch bleiben die alten Versionen von kompiliertem Code im Speicher unbegrenzt mit Side-by-Side-Ausführung. Wenn Sie viele Dateien (z. B. mehr als 30 Dateien),, aktualisieren Wenn Sie die Anwendung die alten Versionen aus dem Speicher löschen nicht neu starten, kann zu viel Arbeitsspeicher verwendet werden. Um dieses Problem zu umgehen, hat ASP.NET eine Funktion, in der die Anwendung automatisch neu gestartet wird, nachdem eine bestimmte Anzahl von Dateien aktualisiert wurden. Der Neustart sollte nur einmal für die gesamte Liste der aktualisierten Dateien auftreten. Nach dem Neustart Anwendung sollte die alte Versionen nicht im Speicher befinden. Die Anwendung sollte daher nicht über die neu gestartet werden, um die neue Versionen der Dateien neu kompilieren. Dieses Problem tritt jedoch auf, wenn viele neue ASPX- oder ASCX-Dateien auf dem Server (z. B. 61 Dateien) zu laden. Entlädt die Server kompiliert die Anwendung, wenn die ersten 15 Dateien sind und jedes Mal neu anderen 15 Dateien kompiliert werden, bis der Server 61 erreicht. Dies führt vier Neustarts, obwohl nur eine erforderlich ist. LösungUm einen automatischen Neustart basierend auf der Anzahl der aktualisierten Dateien zu vermeiden, legen Sie das NumRecompilesBeforeAppRestart -Attribut in der Datei Machine.config von der Standardeinstellung von 15 auf eine Zahl, ist größer als die Anzahl der Dateien, die zwischen geplanten Neustarts aktualisiert werden. Wenn Sie eine große Anzahl NumRecompilesBeforeAppRestart festlegen, können Sie neu starten die Anwendung manuell in den Speicher frei, den die alten Versionen der Assemblys verwenden möchten. Hinweis : Wenn ASP.NET zu viel Speicher beansprucht, ASP.NET die Anwendung automatisch neu gestartet. Wenn Sie eine bekannte Anzahl von Dateien werden aktualisiert, und wenn Sie die Anwendung automatisch neu starten möchten NumRecompilesBeforeAppRestart in eine Zahl, ist nur kleiner als die Anzahl der Dateien, die aktualisiert werden. Dadurch wird einen einzelne Anwendung Neustart mit einer kleinen Anzahl von alten Assemblys im Arbeitsspeicher. NumRecompilesBeforeAppRestart beispielsweise wie folgt festlegen: StatusMicrosoft hat bestätigt, dass es sich hierbei um ein Problem bei den in diesem Artikel Microsoft-Produkten handelt. Weitere InformationenIn der ausführbare ASP-Code in der ASPX- oder ASCX-Datei ist möglicherweise Sie dieses Verhalten mit Active Server Pages (ASP) Code Inline angezeigt. Jedoch wird nicht dieses Verhalten angezeigt, wenn Sie das Code-Behind-Modell, verwenden um die ASP.NET-Anwendung zu erstellen. Der kompilierte Code im Code-Behind-Modell wird in Form einer dynamic-link Bibliothek (DLL) und in das Verzeichnis Bin für die Anwendung eingefügt. Dadurch wird den Neustart der Anwendung, so dass Sie nicht das genaue Verhalten sehen, das in diesem Artikel erwähnt wird. InformationsquellenWeitere Informationen zu den <processmodel>-Element, finden Sie in die MSDN-Dokumentation: http://msdn2.microsoft.com/en-us/library/7w2sway1(vs.71).aspx
(http://msdn2.microsoft.com/en-us/library/7w2sway1(vs.71).aspx)
Weitere Informationen zu ASP.NET-Features finden Sie die Artikel der Microsoft Knowledge Base: 305140
(http://support.microsoft.com/kb/305140/EN-US/
)
Information: Überblick ASP.NET
Maschinell übersetzter ArtikelWichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten. Den englischen Originalartikel können Sie über folgenden Link abrufen: 319947
(http://support.microsoft.com/kb/319947/en-us/
)
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.
| Weitere Ressourcen Weitere SupportseitenCommunityHilfe erhaltenSPRACHE AUSWÄHLEN
|






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email


Zum Anfang