Обработка ошибок области MVC - PullRequest
6 голосов
/ 09 августа 2010

У меня есть проект MVC с 3 областями.В основном проекте у меня настроена обработка ошибок с использованием пользовательских ошибок в файле web.config.

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

Это приводит к тому, что сайт перенаправляется на контроллер ошибок в корне, а затем показывает представление ошибок.

Это нормально работает в корневом сайте, однако, когда я выдаю исключение в домашнем контроллере одного из сайтов области, появляется сообщение ниже.

Ошибка времени выполнения Описание: на сервере произошла ошибка приложения,Текущие пользовательские настройки ошибок для этого приложения не позволяют просматривать сведения об ошибке приложения.

Подробно: Чтобы детали этого конкретного сообщения об ошибке можно было просматривать на локальном сервере, создайте тег вфайл конфигурации "web.config", расположенный в корневом каталоге текущего веб-приложения.Для этого тега должен быть установлен атрибут «mode» «RemoteOnly».Чтобы детали можно было просматривать на удаленных компьютерах, установите для параметра «mode» значение «Off».

Возможно ли, что обработка ошибок в корневом сайте не может использоваться на сайтах области?

Спасибо

Джон.

1 Ответ

1 голос
/ 28 февраля 2011

Есть ли в области собственный web.config, который может устанавливать собственные параметры обработки ошибок? Можете ли вы поставить точку останова в Application_OnError, чтобы увидеть, происходит ли другая ошибка (например, одна загрузка страницы ошибки - например, если вы отключили буферизацию, она не сможет выполнить перенаправление)?

Вы также можете попробовать добавить что-то подобное в основной файл web.config, чтобы увидеть, имеет ли оно какое-то значение:

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