Я видел ряд подобных вопросов в StackOverflow и на других сайтах, но, похоже, ничего не помогло решить проблему, с которой я столкнулся.
Я пытаюсь настроить сайт для возвратакод состояния 500 и пользовательская страница ошибок (статический файл HTML) для ошибок ASP.NET, которые обычно возвращают 500, где customErrors установлен в значение «Выкл.», и код состояния 404 для страниц, о которых наша система сообщает, что они не найдены (Страница 404 - это не статическая страница, устанавливаемая через IIS, она генерируется нашей системой CMS).
Я уже на полпути, но наткнулся на кирпичную стену.
В настоящее время я могу вернуть правильный код состояния 404, где наша система возвращает страницу с кодом состояния 404, но теперь я не могу вернуть код состояния 500 для ошибок сервера ASP.NET.Мне удалось это, установив Response.TrySkipIisCustomErrors = true.Мои 500 ошибок, однако, оказываются более сложными.Если я удаляю раздел конфигурации customErrors из моего web.config, я получаю ошибку 500, но это уродливый ASP.NET YSOD.Похоже, я вообще не могу указать, чтобы это указывало на пользовательскую страницу, использующую IIS, независимо от того, какие настройки я использую для раздела конфигурации httpErrors, и независимо от того, что я установил через графический интерфейс IIS.Если я добавлю раздел customErrors обратно, я получу пользовательскую страницу ошибок, как и ожидалось, но получаю ошибку 200 или 302 (в зависимости от значения атрибута redirectMode).
У кого-нибудь есть идеи?
С точки зрения раздела конфигурации httpErrors, я до сих пор пробовал следующее:
Установка errorMode на «Custom» и указание моего статического содержимого для ошибок с statusCode «500» и subStatusCode«-1» (сначала удаляя существующую ошибку 500). Установка errorMode на «Подробно» и указание моего статического содержимого для ошибок с statusCode «500» и subStatusCode «-1» (сначала удаление существующей ошибки 500).PassThrough "для обоих вариантов конфигурации выше.