IIS-Anwendungspools schlagen im 32-Bit-Modus in Windows 10 fehl

8

Wenn ich auf meinem Entwicklungscomputer einen IIS-Anwendungspool für die Ausführung im 32-Bit-Modus einstelle, bleibt jede gestartete Webanwendung einfach hängen. Wenn im Browser zugegriffen wird, wird die App für etwa 5-10 Sekunden "hängen", bevor sie einen Fehler 503 erhält. Der Anwendungspool für die App wird an diesem Punkt gestoppt und muss explizit neu gestartet werden.

Im 64-Bit-Modus (Standard) ist alles in Ordnung, aber sobald der Pool auf 32 Bit umgestellt wird, hängt er sogar auf statischen Seiten in einer neuen und ansonsten leeren Website.

Die gleichen Anwendungen laufen gut, wenn sie auf meinem Live-Server im 32-Bit-Modus veröffentlicht werden. Es scheint also, dass dies ein Konfigurationsproblem ist. Ich habe die Ablaufverfolgung für fehlgeschlagene Anfragen aktiviert, aber in den Protokollen wird nichts angezeigt.

Ich habe mehrere Anwendungen, die aufgrund einiger alter COM-Abhängigkeiten 32 Bit ausführen müssen, aber ich kann den Server nicht zum Ausführen bringen.

Irgendwelche Ideen, was dieses Problem verursachen könnte?

    
Rick Strahl 27.08.2016, 05:44
quelle

1 Antwort

9

Ok, ich habe das Problem gefunden, nämlich das AspNetCore-Modul, bei dem die 64-Bit-Version ohne Bit-Wert in der IIS-Modulliste registriert war.

Dieses Problem ist nicht spezifisch für das AspNetCoreModule, außer dass das Modul installiert wurde, ohne dass eine bitness64 angegeben wurde (für die 64-Bit-Version). Ohne den Bitness-Wert lädt das Modul selbst im 32-Bit-Modus und führt zum Absturz des Servers.

Ein weiterer Fehlerpunkt ist das IIS-Rewrite-Modul, das aus ähnlichen Gründen bei der Aktualisierung von Windows gesperrt wird. Jedes Windows-Update das Rewrite-Modul bricht IIS für mich (32 und 64 Bit). Dies war der erste Fehler und der Ereignisprotokolleintrag. Nach dem erneuten Installieren des Rewrite-Moduls wurden die AspNetCoreModule-Fehler im Ereignisprotokoll angezeigt. Ich habe mehr Informationen, dass Thema in meinem Blog: Ссылка

Um die Bissigkeit des AspNetCore-Moduls zu beheben, habe ich die Bitheit in Applicationhost.config geändert:

%Vor%

Beachten Sie die precondition=bitness64 , die benötigt wird, um die 32-Bit-AppPools wieder funktionsfähig zu machen, da dies verhindert, dass das Modul in 32-Bit-Prozesse geladen wird. Es ist möglich, dass eine Neuinstallation der AspNet Server Runtime dies möglicherweise auch behebt, aber ich habe dies nicht überprüft.

Wenn beim Start der App 503 Fehler auftreten, beziehen sich diese normalerweise auf den Anwendungspool und werden nicht in den FREB-Protokollen angezeigt. Das EventLog verfügt über weitere Informationen und in diesem Fall zuerst auf das Rewrite-Modul und dann auf das AspNet-Core-Modul.

    
Rick Strahl 27.08.2016 16:19
quelle

Tags und Links