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);
}
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie nicht call-Server.ClearError oder Falle den Fehler in der Ereignis page_error oder Application_Error event-handler, der Fehler behandelt wird, basierend auf den Einstellungen in den Abschnitt der Web.config-Datei.
Sehen diese Frage ALSO weitere Informationen