Necesito redirigir globalmente a mis usuarios si se produce un error personalizado en mi aplicación. He intentado poner algo de lógica en mi archivo global.asax para buscar mi error personalizado y, si se lanza, realizar un redireccionamiento, pero mi aplicación nunca llega a mi método global.asax. Me sigue dando un error que dice que mi excepción no fue controlada por el código de usuario.Redirigir asp.net mvc si se produce una excepción personalizada
esto es lo que tengo en mi global.
protected void Application_Error(object sender, EventArgs e)
{
if (HttpContext.Current != null)
{
Exception ex = HttpContext.Current.Server.GetLastError();
if (ex is MyCustomException)
{
// do stuff
}
}
}
y mi excepción se produce de la siguiente manera:
if(false)
throw new MyCustomException("Test from here");
cuando pongo eso en un intento de captura dentro del archivo de lanzar la excepción, mi método Application_Error nunca se alcanza. Alguien tiene algunas sugerencias sobre cómo puedo manejar esto globalmente (¿lidiar con mi excepción personalizada)?
gracias.
1/15/2010 edición: Esto es lo que está en // hacer cosas.
RequestContext rc = new RequestContext(filterContext.HttpContext, filterContext.RouteData);
string url = RouteTable.Routes.GetVirtualPath(rc, new RouteValueDictionary(new { Controller = "Home", action = "Index" })).VirtualPath;
filterContext.HttpContext.Response.Redirect(url, true);
+1 para las cosas doblan el bit – stuartdotnet