Ich habe über die gelesen app_offline.htm
Datei , die im Stammverzeichnis einer .NET 2.0-Anwendung abgelegt werden kann, wodurch die Anwendung im Wesentlichen heruntergefahren und die Anforderung anderer Seiten deaktiviert wird.
Ich habe die Datei im Stammverzeichnis abgelegt und meine Site wird immer noch geladen. Ich habe in IIS Standarddokumente aufgerufen und diese festgelegt, app_offline.htm
und die Site wird weiterhin geladen (dies könnte jedoch ein Caching-Problem gewesen sein).
Wie auch immer, hat jemand Probleme damit? Mache ich etwas falsch?
asp.net
app-offline.htm
Jack Marchetti
quelle
quelle
Antworten:
Ich habe den äußerst praktischen Trick app_offline.htm verwendet, um Websites in der Vergangenheit ohne Probleme herunterzufahren / zu aktualisieren.
Stellen Sie sicher, dass Sie die Datei "app_offline.htm" tatsächlich im "Stammverzeichnis" der Website platzieren, die Sie in IIS konfiguriert haben.
Stellen Sie außerdem sicher, dass die Datei genau so benannt ist, wie sie sein sollte:
app_offline.htm
Abgesehen davon sollten keine weiteren Änderungen an IIS vorgenommen werden, da die Verarbeitung dieser Datei (mit diesem bestimmten Namen) von der ASP.NET-Laufzeit und nicht von IIS selbst (für IIS v6) ausgeführt wird.
Beachten Sie jedoch, dass die Datei zwar im Stammverzeichnis Ihrer Website abgelegt wird, die Anwendung jedoch zum "Herunterfahren" und Anzeigen des Inhalts der Datei "app_offline.htm" gezwungen wird. Bei vorhandenen Anforderungen wird die eigentliche Website jedoch weiterhin bereitgestellt zu ihnen. Nur neu Anfragen erhalten den Inhalt von app_offline.htm.
Wenn Sie immer noch Probleme haben, versuchen Sie die folgenden Links für weitere Informationen:
Scott Gu's App_Offline.htm
App_Offline.htm und Umgehen der Funktion "IE-freundliche Fehler"
Stoppt app_offline.htm aktuelle oder nur neue Anfragen?
quelle
Stellen Sie sicher, dass Ihre Datei app_offline.htm mindestens 512 Byte lang ist. Eine Null-Byte-App_offline.htm hat keine Auswirkung.
UPDATE: Neuere Versionen von ASP.NET/IIS verhalten sich möglicherweise besser als beim ersten Schreiben.
UPDATE 2: Wenn Sie ASP.NET MVC verwenden, fügen Sie web.config Folgendes hinzu:
quelle
Beachten Sie, dass sich dies unter IIS 6 und 7.x sowie in .NET 2, 3 und 4.x gleich verhält.
Beachten Sie außerdem, dass IIS diesen http-Statuscode zurückgibt, wenn app_offline.htm vorhanden ist:
Dies ist alles beabsichtigt. Auf diese Weise kann Ihr Load Balancer (oder was auch immer) feststellen, dass der Server offline ist.
quelle
app_offline.htm
Benutzer während Ihres Wartungsfensters anzeigen möchten ?Mögliches Berechtigungsproblem
Ich weiß, dass dieser Beitrag ziemlich alt ist, aber ich bin auf ein ähnliches Problem gestoßen und meine Datei wurde richtig geschrieben.
Ich habe die Datei app_offline.htm ursprünglich an einem anderen Speicherort erstellt und sie dann in das Stammverzeichnis meiner Anwendung verschoben. Aufgrund meines Setups hatte ich dann ein Berechtigungsproblem.
Die Website tat so, als wäre sie nicht da. Das Problem wurde behoben, indem die Datei im Stammverzeichnis erstellt wurde, anstatt sie zu verschieben. (Oder Sie können einfach die Berechtigung unter Eigenschaften-> Sicherheit korrigieren.)
Hoffe es hilft jemandem.
quelle
Stellen Sie sicher, dass
app_offline.htm
sich das im Stammverzeichnis des virtuellen Verzeichnisses oder der virtuellen Website in IIS befindet.quelle
Stellen Sie sicher, dass die Dateinamenerweiterungen im Explorer sichtbar sind und der Dateiname tatsächlich angezeigt wird
app_offline.htm
nicht
app_offline.htm.htm
quelle
Ich stieß auf ein Problem, das der ursprünglichen Frage sehr ähnlich war und dessen Lösung einige Zeit in Anspruch nahm.
Wenn jemand anderes an einer MVC-Anwendung arbeitet und den Weg in diesen Thread findet, stellen Sie sicher, dass Sie eine Platzhalterzuordnung zu der entsprechenden .Net aspnet_isapi.dll definiert haben. Sobald ich dies tat, begann sich meine app_offline.htm wie erwartet zu verhalten.
IIS 6-Konfigurationsschritte
Wählen Sie in den Eigenschaften der IIS-Anwendung die Registerkarte Virtuelles Verzeichnis.
Klicken Sie unter Anwendungseinstellungen auf die Schaltfläche Konfiguration.
Klicken Sie unter Platzhalter-Anwendungszuordnungen auf die Schaltfläche Einfügen.
Geben Sie C: \ WINDOWS \ Microsoft.NET \ Framework64 \ v4.0.30319 \ aspnet_isapi.dll ein und klicken Sie auf OK.
quelle