IIS-Anwendungsinitialisierung wird nicht in ASP.NET-Anwendung ausgelöst

8

Unter Windows 8 habe ich die Anwendungsinitialisierung Feature von IIS von den Windows-Features-Installationsoptionen für IIS.

Ich versuche, eine ASP.NET-Webanwendung zu starten, die sofort gestartet und in Application_Start ausgelöst wird, wenn der Anwendungspool neu gestartet wird. Ich habe die Anweisungen von diesem Tutorial , aber nach dem Festlegen der Werte in der ApplicationHost.config und web.config sehe ich, dass nichts feuert.

Hier ist, was ich eingestellt habe (was dem Artikel zu entsprechen scheint):

%Vor%

Und dann in der lokalen web.config habe ich:

%Vor%

Anders als das Flag "doAppInitAfterRestart" stimmt es genau mit den Einstellungen im obigen Artikel überein, außer dass es auf meine virtuelle App und den Anwendungspool zeigt.

Es scheint, dass das automatische Laden des Anwendungspools funktioniert - wenn ich IIS w3wp stoppe und neu starte, sehe ich, dass der Anwendungspool in der Aufgabenliste angezeigt wird. Aber mit Process Explorer kann ich sehen, dass die EXE nicht geladen hat. Keine .NET Runtime-DLLs werden geladen, daher scheint keine Anforderung ausgelöst worden zu sein.

Was wirklich scheiße ist, ist, dass es für jede Einstellung keine echte Dokumentation des Abschnitts und der erwarteten Werte gibt. Das Flag doAppInitAfterRestart ist nirgendwo dokumentiert, das ich finden könnte. Das habe ich auch mit den gleichen Ergebnissen vergessen. Ich bin auch nicht 100% was die Syntax für die URL ist. Der MSDN-Artikel zeigt auf "/default.aspx", und ich versuchte das auch ohne Erfolg.

Ich habe auch die Ablaufverfolgung für fehlgeschlagene Anfragen in IIS aktiviert, um zu sehen, ob die gefälschte Anfrage möglicherweise fehlschlägt, aber nichts wird angezeigt. Es sieht einfach so aus, als ob der Ladevorgang auf der Site-Ebene nicht ausgelöst wird, wenn der Anwendungspool neu gestartet wird.

Alle hier genannten Einstellungen sind auch über die IIS Admin UI in Windows 8 verfügbar und alles sieht sicher korrekt aus.

Ich habe keine Ideen, was ich noch überprüfen oder was ich vermissen könnte. Irgendwelche Ideen geschätzt.

    
Rick Strahl 02.10.2013, 08:37
quelle

2 Antworten

5

Nach etwas mehr Spelunking stellt sich heraus, dass obwohl ich die Application Initialization Feature mit den Windows 8 Features installiert hatte, das eigentliche Modul nicht zur globalModules Liste hinzugefügt wurde.

Das Folgende fehlte und nach dem Hinzufügen funktionierte alles gut:

%Vor%     
Rick Strahl 02.10.2013, 09:10
quelle
2

Ich sah mich einem ähnlichen Problem gegenüber, aber nach einigem Vergleich habe ich festgestellt, dass Sie den Application Pool Managed Pipeline-Modus auf Integrated setzen müssen. Es funktioniert nicht mit Classic Mode

    
Danish 17.12.2013 07:40
quelle

Tags und Links