2010-07-19 11 views
5

he puesto errores personalizados en el archivo web.config de la siguiente manera:customErrors ASP.NET con mode = RemoteOnly y Global.asax excepciones de manipulación de

<customErrors mode="RemoteOnly" defaultRedirect="GenericError.aspx" /> 

fino y elegante ... eso me gusta el modo = "RemoteOnly "facilita el desarrollo ...

para las excepciones no controladas, que tengo en global.asax:

Sub Application_Error(ByVal sender As Object, ByVal e As EventArgs) 
    Response.Redirect("GenericError.aspx") 
End Sub 

Sin embargo, las excepciones no controladas van a la página de error genérico en lugar de los amarillos s informativos pantalla de la muerte preferida por los desarrolladores. Puedo comentar el redireccionamiento en global.asax, pero luego debo recordar cambiarlo para el entorno de producción. ¿Hay alguna manera de verificar en Application_Error si soy remoto o no para determinar si debo redirigir?

Respuesta

3

No necesita el Response.Redirect en Global.asax. Duplica el comportamiento de la etiqueta <customErrors>. RemoteOnly le dará a los usuarios finales el mensaje de error personalizado y los usuarios locales la página de error asp.net estándar. Si tus desarrolladores usan un servidor web local para el desarrollo, tienes ambos en uno.

Otro enfoque es establecer el <customErrors> en Off en los servidores de desarrollo y configurarlo en On en el entorno de producción. Por lo general, hay muchos elementos en la web.config que deben cambiarse para que no sea más una dificultad.

+0

¡Tienes razón, debo haber tenido un títere cerebral por no entender! – harrije

0

Ni siquiera debería necesitar la línea en Application_Error si tiene el conjunto predeterminadoRedirect en su web.config.

Cuestiones relacionadas