Wenn benutzerdefinierte Fehler in der Webkonfiguration auf RemoteOnly
gesetzt sind - bedeutet das, dass MVCs Anwendungsebene Fehlerereignis in global.asax
- Application_Error
nicht bei Fehler ausgelöst wird?Wird das Ereignis global.asax Application_Error nicht ausgelöst, wenn benutzerdefinierte Fehler aktiviert sind?
Ich habe gerade festgestellt, dass, wenn ein bestimmter Fehler in meiner Anwendung auftritt, und ich die Website remote anzeigen, kein Fehler protokolliert wird. Wenn ich jedoch auf die App auf dem Server zugreife und der gleiche Fehler auftritt, wird der Fehler protokolliert.
dies ist die benutzerdefinierten Fehler Konfigurationseinstellung:
<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>
EDIT
Nur aus Interesse für die Menschen - ich am Ende völlig individuelle Fehler ausschalten und mit Umleitung in Application_Error
wie so tun:
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);
}
}