2010-08-09 21 views
6

Tengo un proyecto MVC configurado con 3 áreas. En el proyecto principal tengo manejo de errores configurando usando errores personalizados en el web.config.MVC Area Error Handling

<customErrors mode="On" defaultRedirect="~/Error/HttpError"> 
    <error statusCode="404" redirect="~/Error/Http404" />  </customErrors> 

Esto hace que el sitio redirija a un controlador de error en la raíz y luego muestra la vista de error.

Esto funciona bien en el sitio raíz, sin embargo, cuando arrojo una excepción en el controlador doméstico de uno de los de los sitios, aparece el mensaje a continuación.

Runtime Error Descripción: Se ha producido un error de aplicación en el servidor. La configuración de error personalizado actual para esta aplicación evita que se vean los detalles del error de la aplicación.

Detalles: Para permitir que los detalles de este mensaje de error específico sean visibles en la máquina del servidor local, cree una etiqueta dentro de un archivo de configuración "web.config" ubicado en el directorio raíz de la aplicación web actual. Esta etiqueta debe tener su atributo "modo" establecido en "RemoteOnly". Para permitir que los detalles se puedan ver en máquinas remotas, configure "modo" en "Desactivado".

¿Es el caso que el manejo de errores en el sitio raíz no se puede usar en los sitios del área?

Gracias

John.

Respuesta

1

¿El área tiene su propio web.config que podría estar configurando sus propias opciones de manejo de errores? ¿Puede poner un punto de interrupción en Application_OnError para ver si se está produciendo otro error (por ejemplo, uno cargando la página de error, por ejemplo, si ha desactivado el Buffering, no podrá hacer el redireccionamiento)?

También podría intentar agregar el algo como esto para el web.config principal para ver si se hace alguna diferencia:

<location path="nameOfArea"> 
    <system.web> 
    <customErrors mode="On" defaultRedirect="~/Error/HttpError" /> 
    </system.web>  
</location>