ASP.NET customErrors с mode=remoteOnly и global.asax обрабатывающий исключений

Мне установили пользовательские ошибки в веб-файле конфигурации следующим образом:

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

Великолепный... Мне нравится этот режим =, "RemoteOnly" упрощает разработку...

Для необработанных исключений я имею в global.asax:

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

Однако необработанные исключения идут в универсальную ошибочную страницу вместо информативного желтого экрана смерти, предпочтенной разработчиками. Я могу прокомментировать перенаправление в global.asax, но затем я должен не забыть изменять его для продуктивной среды. Существует ли способ, которым я могу зарегистрироваться в Application_Error, являюсь ли я удаленным или не определить, перенаправить ли?

6
задан harrije 19 July 2010 в 16:37
поделиться

2 ответа

Вам не нужен Response.Redirect в Global.asax. Он дублирует поведение тега . RemoteOnly предоставит конечным пользователям настраиваемое сообщение об ошибке, а локальным пользователям - стандартную страницу ошибок asp.net. Если ваши разработчики используют локальный веб-сервер для разработки, у вас есть оба в одном.

Другой подход - установить для значение Off на серверах разработки и установить для него значение On в производственной среде. Обычно в файле web.config есть много элементов, которые нужно изменить, чтобы это не было проблемой.

4
ответ дан 17 December 2019 в 06:59
поделиться

Вам даже не понадобится строка в Application_Error, если в вашем web.config установлен defaultRedirect.

0
ответ дан 17 December 2019 в 06:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: