ASP.NET MVC 404-Behandlung und IIS7 httpErrors

8

Guten Tag!

Ich verwende eine Strategie, um 404-Fehler wie folgt zu behandeln: Fehlerbehandlung für ASP.NET MVC 2 und IIS 7.0 oder dies: Wie kann ich 404 in ASP.NET MVC richtig behandeln?

Kurz gesagt: Ich behandle 404 als Ausnahme in Global.asax , ohne irgendwelche Routing-Regeln hinzuzufügen. Wenn die Ausnahme 404 ist, rende ich spezielle controller \ action mit Fehlermeldung.

Auf IIS6 funktioniert es mit ASP.NET-Platzhalter-Mapping. Auf IIS7 im integrierten Modus muss ich Folgendes zum Web.config hinzufügen (wobei /error/HttpError404 meine Aktion mit 404-Seite ist):

%Vor%

Warum? Routing funktioniert anders im integrierten IIS-Modus und IIS6-Platzhalter-Zuordnung?

Vielen Dank im Voraus!

UPDATE: Nach meinen Tests scheint es, dass meine Fehlerbehandlung funktioniert und meine 404-Aktion gerendert wird, aber es scheint, dass IIS 404-Antwortcode sieht (den ich programmatisch in meiner 404-Aktion einstelle) und meine Seite durch Standardfehler ersetze.

Wenn ich <httpErrors> gesetzt habe, habe ich zwei Treffer für die 404-Seite: eine aus der Ausnahmebehandlung in Global.asax und eine aus IIS.

Kann das die Ursache sein?

    
artvolk 24.08.2010, 08:52
quelle

1 Antwort

11

Es scheint, ich habe es durch Einstellung in Web.config :

behoben %Vor%     
artvolk 24.08.2010, 09:09
quelle