IIS: App_Offline.htm – .NET Webapplikation offline nehmen

Will man eine .NET Webapplikation mit einer neueren Version ersetzen, sollte man diese offline nehmen. Ansonsten werden die HTTP-Anfragen munter weiter bedient und dies führt dann oft zu unschönen Fehlermeldungen.

Eine elegante Methode ist die Datei „App_Offline.htm“. Wird ins Root-Verzeichnis der .NET Webapplikation eine Datei mit dem Namen „App_Offline.htm“ kopiert, werden sämtliche neuen HTTP-Anfragen mit dem Inhalt dieser Datei beantwortet und zugleich wird die Webapplikation sowie deren „Application Domain“ beendet.

Nach den Wartungsarbeiten oder dem Updaten wird die Datei „App_Offline.htm“ einfach wieder gelöscht. Ist die Datei nicht mehr vorhanden, werden sämtliche Anfragen wieder wie gewohnt beantwortet.

Schritte um eine .NET Webapplikation zu aktualisieren:

  1. App_Offline.htm ins Root-Verzeichnis kopieren
  2. ein Backup der Dateien erstellen
  3. Webapplikation updaten
  4. App_Offline.htm aus dem Root-Verzeichnis löschen

Nützliche Links

Vipin Agarwal: App_Offline.htm, taking site down for maintenance
ScottGu’s Blog: App_Offline.htm
stackoverflow.com: explain the differences, in IIS, between application pools, worker processes and app domains

Webknight: Calling LoadLibraryEx on ISAPI filter „Webknight.dll“ failed

Nach dem Installieren der 64-Bit Version von der „Application Firewall“ Webknight, erhält man beim Aufruf von Webseiten die Fehlermeldung „Calling LoadLibraryEx on ISAPI filter „C:\Program Files\AQTRONIX Webknight\Webknight.dll“ failed“ angezeigt. Eine mögliche Ursache ist, dass die falsche Version von Webknight installiert wurde.

Webknight loading failed

Welche Version von Webknight muss auf einem 64-Bit Windows installiert werden?

Grundsätzliche sollte die 64-Bit Version installiert werden. Beim Betrieb von älteren Webapplikationen, welche noch 32-Bit COM-Komponenten verwenden, muss der IIS 7.x im 32-Bit Modus betrieben werden.

Application Pool Advanced Settings
Application Pool mit aktiviertem 32-Bit Modus

Wird nun die 64-Bit Webknight-Version installiert erhält man die oben beschriebene Fehlermeldung, da der IIS 7.x im 32-Bit Modus ausgeführt wird. Bei dieser Konstellation installiert man die 32-Bit Version von Webknight.

Nützliche Links

Webknight Webseite
Webknight FAQ