ASP.NET MVC Custom Error Handling Application_Error Global.asax?
Tengo un código básico para determinar los errores en mi aplicación MVC. Actualmente en mi proyecto tengo un controlador llamadoError
con metodos de accionHTTPError404()
, HTTPError500()
yGeneral()
. Todos aceptan un parámetro de cadena.error
. Utilizando o modificando el siguiente código. ¿Cuál es la mejor manera de pasar los datos al controlador de errores para procesarlos? Me gustaría tener una solución lo más robusta posible.
protected void Application_Error(object sender, EventArgs e)
{
Exception exception = Server.GetLastError();
Response.Clear();
HttpException httpException = exception as HttpException;
if (httpException != null)
{
RouteData routeData = new RouteData();
routeData.Values.Add("controller", "Error");
switch (httpException.GetHttpCode())
{
case 404:
// page not found
routeData.Values.Add("action", "HttpError404");
break;
case 500:
// server error
routeData.Values.Add("action", "HttpError500");
break;
default:
routeData.Values.Add("action", "General");
break;
}
routeData.Values.Add("error", exception);
// clear error on server
Server.ClearError();
// at this point how to properly pass route data to error controller?
}
}