Переопределите страницу ошибки по умолчанию 500.30 — ASP.NET Не удалось запустить основное приложение

#c# #asp.net-core #exception #.net-5 #custom-error-pages

Вопрос:

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

Есть ли какой-либо способ переопределить эту страницу и показать более информативную, которая сообщала бы мне, что моя строка подключения к БД неверна? В файле Startup.cs возникает исключение InvalidOperationException, но я не уверен, как извлечь его из файла запуска и использовать, когда мое приложение не запускается в первую очередь.

Возможно ли это сделать?

Ответ №1:

Вы можете отключить страницу ошибок по умолчанию, используя disableStartUpErrorPage="true" параметр в web.config модуле хостинга IIS. Это просто приведет к переходу на другую пользовательскую страницу ошибок по вашему выбору, обслуживаемую IIS, вместо того, чтобы показывать динамическую пользовательскую страницу.

Документация

Комментарии:

1. Есть ли способ отключить страницу только при получении конкретного исключения InvalidOperationException, чтобы не показывать ошибку подключения к базе данных, когда причиной может быть что-то другое?

2. Я в это не верю — насколько мне известно, это просто статическая страница, которая находится в памяти IIS ASP.NET Основная библиотека DLL модуля хостинга, которая не является специфичной для предотвращения раскрытия информации.

3. Огромное спасибо, очень полезно!