He pasado mucho tiempo tratando de encontrar una solución para esto en vano, así que pensé que vería si alguien aquí tiene una idea.La vista 'Error' o su maestro no se encontró
Estoy usando Elmah in my ASP.NET MVC3 application. Estoy usando exactamente el mismo código de la respuesta aceptada en el enlace anterior.
también tengo este código en mi Global.asax para la visualización de páginas de error con la correcta respuesta HTTP:
/// <summary>
/// The customErrors functionality provided by ASP.NET results in HTTP 302 redirects occurring which doesn't accurately reflect what the real HTTP code of the response was.
/// This method can be used to handle specific HTTP codes without an intermediate redirect.
/// </summary>
protected void Application_Error() {
var exception = Server.GetLastError();
var httpException = exception as HttpException;
Response.Clear();
Server.ClearError();
var routeData = new RouteData();
routeData.Values["controller"] = "Error";
routeData.Values["action"] = "Error500";
Response.StatusCode = 500;
if (httpException != null) {
Response.StatusCode = httpException.GetHttpCode();
Response.TrySkipIisCustomErrors = true;
switch (Response.StatusCode) {
case 403:
routeData.Values["action"] = "Error403";
break;
case 404:
routeData.Values["action"] = "Error404";
routeData.Values["message"] = httpException.Message;
break;
case 500:
routeData.Values["action"] = "Error500";
break;
}
}
IController errorsController = new ErrorController();
var rc = new RequestContext(new HttpContextWrapper(Context), routeData);
errorsController.Execute(rc);
}
El problema se produce cuando no estoy en mi máquina de desarrollo (local) (que hizo inicialmente me parece que fue customErrors relacionado). Cuando se lanza una excepción, Elmah maneja el error y lo registra correctamente. También termino en la página de error correcta. Sin embargo, antes de terminar en la página de error correcto, puedo ver otra excepción intermedia está registrando:
The view 'Error' or its master was not found or no view engine supports the searched locations. The following locations were searched: ~/Views/Articles/Error.aspx ~/Views/Articles/Error.ascx ~/Views/Shared/Error.aspx ~/Views/Shared/Error.ascx ~/Views/Articles/Error.cshtml ~/Views/Articles/Error.vbhtml ~/Views/Shared/Error.cshtml ~/Views/Shared/Error.vbhtml
ASP.NET está tratando de cargar una página de error por defecto a pesar de que estoy tratando de manejarlo. ¿Alguien tiene alguna idea sobre cómo prevenir esto?
Eso hizo el truco. Después de ver el código fuente del HandleErrorAttribute pude ver que necesitaba saltear algunas de las funciones básicas, pero creo que está en lo cierto al decir que puedo omitir las llamadas y estar bien. Gracias por la ayuda. –
Eso hizo el truco. –
Sí, eso hizo el truco – JoshYates1980