Не удается получить подробную информацию об ошибках на веб-сайте ASP.NET MVC - программирование
Подтвердить что ты не робот

Не удается получить подробную информацию об ошибках на веб-сайте ASP.NET MVC

Я только что развернул приложение ASP.NET MVC 3 на нашем промежуточном сервере. Всякий раз, когда возникает ошибка, я не могу получить подробную информацию об ошибке, то есть "желтый экран смерти". Вместо этого я просто получаю простой "Извините, произошла ошибка при обработке вашего запроса". сообщение.

My Web.config включает в себя customErrors off, т.е.:

<system.web>
  <compilation debug="true" targetFramework="4.0">
    <assemblies>
      ...
    </assemblies>
  </compilation>
  <customErrors mode="off"/>
</system.web>

В этом случае я точно знаю, в чем заключается основная ошибка. (Я забыл установить разрешения для хранимой процедуры.) Но я действительно хочу (повторно) включить обработку ошибок, чтобы быстро найти эти ошибки. Конечно, я удалю это, когда мы действительно отправимся жить по соображениям безопасности.

Какие еще существуют настройки, которые могут переопределять обработку ошибок ASP.NET по умолчанию?

4b9b3361

Ответ 1

<customErrors mode="Off"/>

"Выкл." должен быть заглавным.

От "Редактирование файлов конфигурации ASP.NET":

Case-Sensitivity

Поскольку теги должны быть хорошо сформированными XML, тегами, subtags и атрибуты чувствительны к регистру. Имена тегов и атрибут имена имеют верблюд, что означает, что первый символ тега имя является строчным и первая буква любого последующего конкатенированного слово или слова в верхнем регистре. В большинстве случаев значения атрибутов строки Pascal-case, что означает, что первый символ имеет верхний регистр, а первая буква любого последующего конкатенированного слова или слов верхний регистр. Исключения являются истинными и ложными, которые всегда имеют строчные значения.

Помните детей, вы каждый день узнаете что-то новое. Даже если то, что вы узнаете, хромает.

Ответ 2

У вас может быть глобальный фильтр HandleErrorAttribute в вашем файле Global.asax.cs. Удалите эту строку.

    public static void RegisterGlobalFilters(GlobalFilterCollection filters)
    {
        filters.Add(new HandleErrorAttribute());
    }

Ответ 3

Лучшим долгосрочным решением может быть добавить Elmah в свой проект, он добавит подробный журнал в ваш веб-проект.

в том числе:

  • Регистрация почти всех необработанных исключений.
  • Веб-страница для удаленного просмотра всего журнала перекодированных исключений.
  • Веб-страница для удаленного просмотра полной информации о любом зарегистрированном исключении, включая цветные трассировки стека.
  • Во многих случаях вы можете просмотреть исходный желтый экран смерти, сгенерированный ASP.NET для данного исключения, даже с отключенным режимом customErrors.
  • Уведомление по электронной почте о каждой ошибке в момент ее возникновения.
  • RSS-канал последних 15 ошибок из журнала.

Ответ 4

проверьте, использует ли ваш сервер тот же файл конфигурации для вашего сайта (если файл конфигурации, развернутый в каталоге веб-сайта, совпадает)