Не удается получить подробную информацию об ошибках на веб-сайте 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 по умолчанию?
Ответы
Ответ 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
проверьте, использует ли ваш сервер тот же файл конфигурации для вашего сайта (если файл конфигурации, развернутый в каталоге веб-сайта, совпадает)