ASP.NET страница с кодом состояния 404

#asp.net #http-status-code-404 #custom-error-pages

#asp.net #http-status-code-404 #пользовательские страницы с ошибками

Вопрос:

все! У меня проблема с asp.net исключения из ошибок. Я работаю над веб-приложением по недвижимости, и Google создал индексы для ссылок на недвижимость. Но по прошествии некоторого периода времени несколько объектов недвижимости больше не существуют в БД. Проблема следующая: если пользователь нажимает на ссылку для недвижимости, которая больше не существует в БД, мне нужно вернуть страницу с ошибкой моего клиента с кодом состояния 404.

Я пытаюсь сделать это следующим образом:

  1. при обработке URL я проверяю, существует ли такая недвижимость
  2. если нет, я создаю свой собственный RealEstateDontExistException
  3. в Global.asax при обработке ошибки сервера я проверяю, относится ли эта ошибка к типу RealEstateDontExistException тогда
  4. Я установил:
Ответ.Код состояния = 404;
Сервер.Ошибка очистки();
Сервер.Передача("~/ErrorPage.aspx");

Мне нужно показать страницу aspx с кодом состояния 404. На локальном хосте это работает нормально. Но если я попытаюсь получить несуществующую недвижимость с производственного сервера, то веб-браузер покажет мне следующий текст

«Ресурс, который вы ищете, был удален, его имя было изменено или он временно недоступен». с кодом состояния 404.

Кто-нибудь может мне помочь? Спасибо.

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

1. вы подтвердили, что ErrorPage.aspx существует на сервере?

Ответ №1:

Похоже, что ваш рабочий веб-сервер отображает собственную страницу ошибки. Пожалуйста, настройте его (IIS) для отображения пользовательской страницы ошибок при ошибке 404 — смотрите Эту статью о том, как это сделать на IIS7 (и это для IIS 6.0).

Ответ №2:

Возможно, ваша страница с ошибкой слишком мала для HTTP 404 в Internet Explorer (должна содержать более 10 строк).

Взгляните на эти ресурсы:

Это раздел реестра, который IE использует для определения минимального размера:

 HKEY_LOCAL_MACHINESOFTWAREMicrosoftInternet ExplorerMAINErrorThresholds