Warum verwendet IIS Express system.web und nicht system.webServer?

8

Benutzte Cassini, wechselte jedoch zu IIS Express. Mein erster Gedanke war, dass ich alle <system.web> außer Dingen wie:

entfernen könnte %Vor%

Meine vorherigen customErrors wurden wie folgt eingerichtet:

%Vor%

Ich habe dieses Element customErrors entfernt, als ich zu IISExpress gewechselt habe. Jetzt 404 wird nicht mehr auf meine nette "NotFound" Seite umgeleitet.

Der AppPool, der für meine Site verwendet wird, ist Clr4IntegratedAppPool , wodurch ich weiß, dass er nicht Classic verwendet.

Warum ist IISExpress so abhängig von system.web , während IIS 7.5 system.webServer verwendet?

    
Scott Coates 03.03.2012, 02:34
quelle

1 Antwort

7

Nun, ich habe ein paar verschiedene Dinge ausprobiert:

  • Change existingResponse in PassThrough wie angegeben hier

    <httpErrors errorMode="Custom" existingResponse="Replace">

Nein!

  • Set TrySkipIisCustomErrors = false wie in Kommentaren notiert mvc / 7499406 # 7499406 "> hier

Notta!

Ich habe es zum Laufen gebracht, indem ich einfach existingResponse in Replace geändert habe.

  • Wer wusste das!

So sieht system.webServer jetzt aus:

%Vor%

Warum diese Lösung keinen Sinn ergibt

  

Ersetzen - Dieser Wert bewirkt, dass das benutzerdefinierte Fehlermodul immer das neue ersetzt   Fehlerinformationen mit Text, der vom benutzerdefinierten Fehlermodul generiert wird. Ob   existingResponse ist auf "Replace" gesetzt, Fehler / Exceptions generiert von   Asp.Net/WCF wird durch IIS7-Fehler ersetzt.

Ссылка

    
Scott Coates 04.03.2012, 04:28
quelle