Ist global.asax Application_Error event nicht gefeuert, wenn benutzerdefinierte Fehlermeldungen sind aktiviert?

Wenn Sie benutzerdefinierte Fehler gesetzt RemoteOnly im web-config - bedeutet dies, dass MVC application-level-Fehler-Ereignis im global.asax - Application_Error ist nicht gefeuert Fehler?

Ich habe gerade bemerkt, dass wenn ein bestimmter Fehler tritt in meiner Anwendung, und ich bin der Anzeige der Seite aus der Ferne, wird kein Fehler protokolliert. Allerdings, wenn ich Zugriff auf die app auf dem server und der gleiche Fehler Auftritt, der Fehler wird protokolliert.

dies ist der benutzerdefinierte Fehler config-Einstellung:

<customErrors defaultRedirect="/Error/Application" mode="RemoteOnly">
    <error statusCode="403" redirect="/error/forbidden"/>
    <error statusCode="404" redirect="/error/notfound"/>
    <error statusCode="500" redirect="/error/application"/>
</customErrors>

BEARBEITEN

Nur aus Interesse für die Menschen - ich landete komplett ausschalten, benutzerdefinierte Fehler und der Umgang mit Umleitung in Application_Error etwa so:

protected void Application_Error(object sender, EventArgs e)
{
    Exception exception = Server.GetLastError();

    //... log error here

    var httpEx = exception as HttpException;    

    if (httpEx != null && httpEx.GetHttpCode() == 403)
    {
        Response.Redirect("/youraccount/error/forbidden", true);
    }
    else if (httpEx != null && httpEx.GetHttpCode() == 404)
    {
        Response.Redirect("/youraccount/error/notfound", true);
    }
    else
    {
        Response.Redirect("/youraccount/error/application", true);
    }
}
InformationsquelleAutor jcvandan | 2012-08-24
Schreibe einen Kommentar