2013-11-22 16 views
8

Ich habe benutzerdefinierte Fehlerseiten auf einer ASP.NET-Website eingerichtet.Benutzerdefinierte IIS-Fehler, die keine benutzerdefinierte Fehlerseite anzeigen

Es gibt einen Fehler, der keine benutzerdefinierte Fehlerseite anzeigt und nur die übliche gelbe ASP.NET-Fehlerseite anzeigt. Wenn benutzerdefinierte Fehler aktiviert sind, wird "Serverfehler in/Anwendung"/"Laufzeitfehler" angezeigt, aber wenn benutzerdefinierte Fehler deaktiviert sind, wird der Fehler "Validierung von viewstate mac failed" angezeigt.

Die relevanten Teile meiner web.config sind:

<system.web> 
    <compilation debug="false" targetFramework="4.0" /> 
    <customErrors mode="On" redirectMode="ResponseRewrite"> 
     <error statusCode="404" redirect="/404.aspx" /> 
     <error statusCode="500" redirect="/500.aspx" /> 
    </customErrors> 

<system.webServer> 
    <httpErrors errorMode="DetailedLocalOnly" /> 

Um Falle für diesen Fehler muss ich einen anderen Statuscode oder substatuscode verwenden oder gibt es etwas anderes?

NB. Server 2008 R2, IIS 7.

+0

CustomErrors hat ein defaultRedirect-Attribut. Versuchen Sie, das auch auf Ihren 500.aspx zu setzen. – Mark

+0

Hi @Mark, ich habe es versucht, aber es hat keinen Unterschied gemacht. Vielen Dank. – johna

+0

Es ist eigentlich die letzte Zeile mit 'DetailedLocalOnly', die verhindert, dass Ihre benutzerdefinierte Seite angezeigt wird. – Marc

Antwort

13

Nach weiterer Forschung sehe ich, dass dies bedeutet, dass IIS den Fehler statt ASP.NET anzeigt.

Ich habe den system.webServer-Teil meiner web.config geändert, so dass IIS auch die benutzerdefinierte Fehlerseite verwenden kann und das das Problem gelöst hat.

<system.webServer> 
    <httpErrors errorMode="Custom" existingResponse="Replace"> 
    <remove statusCode="500" subStatusCode="-1" /> 
    <error statusCode="500" subStatusCode="-1" responseMode="ExecuteURL" path="/500.aspx" /> 
    </httpErrors> 
+0

Ich habe das gleiche Problem während der Implementierung "Owin" Middleware – Ramakrishna

Verwandte Themen