Tengo una aplicación web MVC 2, que está a punto de publicarse. Hasta ahora he desactivado los errores personalizados, pero me gustaría que funcionen cuando esté listo para la producción.HandleErrorInfo usando MVC2 - ¿El modelo es nulo?
he levantado mi web.config con lo siguiente:
<customErrors mode="On" defaultRedirect="/Error/">
<error statusCode="404" redirect="/Error/NotFound "/>
</customErrors>
El 404 se trabaja perfectamente, y NotFound es una acción que corresponde directamente a una vista que solo muestra una página bastante estándar 404 usando mi propio archivo Site.Master.
Para cualquier cosa que no sea un 404, quiero que un usuario pueda ver los detalles de la excepción. (Esta es una aplicación interna, y no hay riesgo de seguridad al hacerlo).
La acción predeterminada Error
Index
está configurada para devolver una Vista() que he definido. Lo que no puedo entender es cómo pasar la información de excepción a la Vista?
Esto parecía prometedor:
http://devstuffs.wordpress.com/2010/12/12/how-to-use-customerrors-in-asp-net-mvc-2/
Pero cuando se utiliza la vista con:
<%@ Page Title="" Language="C#"
MasterPageFile="~/Views/Shared/Bootstrap.Master"
Inherits="System.Web.Mvc.ViewPage<System.Web.Mvc.HandleErrorInfo>" %>
La página de error en sí genera un error, como HandleErrorInfo es nulo. Obviamente, un error en el error personalizado causa MVC2 una gran cantidad de problemas, y el resultado es una pantalla amarilla de la muerte.
Supongo que olvidé algo clave en el blog, o no explica cómo hacer que HandleErrorInfo sea distinto de nulo sin establecer el atributo Error para cada uno de mis Controladores/Acciones.
Además, soy consciente de que MVC3 trata esto mejor, y soy consciente de que Razor es muy bueno. No se ha utilizado para este proyecto ni se cambiará este proyecto para usarlo. Entonces, por favor, no responda "Use MVC3".