Frage

Ich habe über die app_offline.htm Datei zu lesen, die in der Wurzel einer .NET 2.0-Anwendung platziert werden können, die die Anwendung im Wesentlichen heruntergefahren wird und deaktivieren Sie alle anderen Seiten angefordert werden.

Ich habe die Datei im Stamm platziert, und meine Seite noch geladen wird. Ich ging in Standarddokumente in IIS und setzen Sie sich auf app_offline.htm und der Seite noch Lasten (dies könnte allerdings gewesen, ein Caching-Problem)

Wie auch immer, hat jemand auf Probleme stoßen diese verwenden? Mache ich etwas falsch?

War es hilfreich?

Lösung

Ich habe den extrem handlichen app_offline.htm Trick / in der Vergangenheit Update-Sites ohne Probleme zu beenden.

Seien Sie sicher, dass Sie tatsächlich die „app_offline.htm“ Datei im „root“ der Website platzieren, die Sie in IIS konfiguriert haben.

Sie auch sicher, dass die Datei genau benannt ist, wie es sein sollte: app_offline.htm

Anders als das, sollte es keine weiteren Änderungen an IIS, die Sie benötigen sollen, da die Verarbeitung dieser Datei erstellen (mit diesem bestimmten Namen) von der ASP.NET-Laufzeit behandelt wird, anstatt IIS selbst (für IIS v6) .

Beachten Sie jedoch, dass diese Datei im Stammverzeichnis Ihrer Website obwohl Platzierung die Anwendung zwingen, „shut down“ und zeigt den Inhalt des „app_offline.htm“ Datei selbst, jeder vorhandenen Anfragen werden immer noch die richtige Website zu ihnen serviert bekommen. Nur neue Anfragen werden den app_offline.htm Inhalt erhalten.

Wenn Sie immer noch Probleme haben, versuchen Sie die folgenden Links für weitere Informationen:

Scott Gu app_offline.htm

app_offline.htm und arbeitet rund um das "IE-freundliche Errors" Merkmal

Wird app_offline.htm aktuelle Anfragen stoppen oder nur neue Anforderungen?

Andere Tipps

Stellen Sie sicher, Ihre app_offline.htm Datei mindestens 512 Bytes lang ist. Ein Null-Byte-app_offline.htm wird keine Wirkung hat.

UPDATE:. Neuere Versionen von ASP.NET/IIS können verhalten besser, als wenn ich die ersten schrieb

UPDATE 2: Wenn Sie ASP.NET MVC verwenden, fügen Sie folgendes zu web.config:

<?xml version="1.0"?>
<configuration>
    <system.webServer>
        <modules runAllManagedModulesForAllRequests="true" />
    </system.webServer>
</configuration>

Beachten Sie, dass dies die gleiche Verhalten auf IIS 6 und 7.x und .NET 2, 3 und 4.x.

Beachten Sie auch, dass, wenn app_offline.htm vorhanden ist, wird IIS diesen HTTP-Statuscode zurück:

HTTP/1.1 503 Service Unavailable

Das ist alles von Design. Auf diese Weise können Sie Ihre Load Balancer (oder was auch immer), um zu sehen, dass der Server offline ist.

Mögliche Permission Ausgabe

Ich weiß, dass dieser Beitrag ziemlich alt ist, aber ich lief in ein ähnliches Problem und meine Datei wurde richtig geschrieben ist.

Ich habe ursprünglich die app_offline.htm Datei an einem anderen Ort und bewegt sie dann an die Wurzel meiner Anwendung. Wegen meiner Setup hatte ich dann ein Problem mit den Berechtigungen.

Die Website getan, als ob sie nicht da war. Erstellen der Datei in das Root-Verzeichnis, anstatt sie zu bewegen, fixiert mein Problem. (Oder man könnte die Erlaubnis in Eigenschaften-> Sicherheit nur fix)

Hoffe, es hilft jemand.

Stellen Sie sicher, Dateierweiterungen sind sichtbar im Explorer und Dateiname ist eigentlich

app_offline.htm

nicht

app_offline.htm.htm

Stellen Sie sicher, dass app_offline.htm in der Wurzel des virtuellen Verzeichnisses oder Website in IIS ist.

Ich lief in ein Problem sehr ähnlich wie die ursprünglichen Frage, die mir eine kleine Weile nahm zu lösen.

Just incase jemand auf der MVC-Anwendung arbeitet und findet ihren Weg in diesen Thread, stellen Sie sicher, dass Sie ein Wildcard-Mapping auf dem entsprechenden .Net aspnet_isapi.dll definiert haben. Sobald ich dies tat, meine app_offline.htm begann wie erwartet verhalten.


IIS 6 Konfigurationsschritte

Auf IIS Anwendungseigenschaften, Registerkarte Virtuelles Verzeichnis auswählen.

Unter Anwendungseinstellungen, klicken Sie auf die Schaltfläche Konfiguration.

Unter Wildcard Applikationskarten, klicken Sie auf die Schaltfläche Einfügen.

Geben Sie C:. \ WINDOWS \ Microsoft.NET \ Framework64 \ v4.0.30319 \ aspnet_isapi.dll, klicken Sie auf OK

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top