He estado buscando algunos enfoques para usar ELMaH con ASP.Net MVC para que pueda usar la página de error personalizada para todas las excepciones, incluidas las 404.¿Tiene este enfoque para usar ELMaH con olor a MVC?
Hay no shortage de questionsasking cómo obtener el /Shared/Error.aspx de funcionar correctamente en ASP.Net MVC - ya sea con o sin ELMAH. No he tenido ningún problema con esa tarea, pero creo que mi solución para usar una página 404 personalizada junto con ELMaH era demasiado simple y no puedo evitar la sensación de que debería haber más.
Después de habilitar customErrors en Web.Config, he creado una nueva acción en mi HomeController:
public ActionResult PageNotFound()
{
return null;
}
A partir de ahí he añadido un nuevo método en mi archivo Global.asax para aprovechar las capacidades de filtrado de registro y ELMAH , después de dejar la excepción sesión de usuario, redirigiendo la respuesta de vuelta a la mencionada PageNotFound
ActionResult:
public void errorLog_Filtering(object sender, ExceptionFilterEventArgs e)
{
if (e.Exception.GetType().Equals(typeof(HttpException)))
{
HttpException ex = (HttpException)e.Exception;
if (ex.GetHttpCode() == 404)
Response.Redirect("/Home/PageNotFound");
}
}
estoy pasando por alto algo que viene con MVC por defecto (porque todavía estoy encontrando mi camino para una gran cantidad de t hings con respecto a MVC), o pensar demasiado sobre el problema donde existe una solución más simple? Apreciar cualquier entrada.
No hay punto de vista real para volver. Solo estoy dejando que el usuario caiga en la página predeterminada /Shared/Error.aspx. –