Страница ASP.NET с кодом состояния 404 - PullRequest
1 голос
/ 08 апреля 2011

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

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

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

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

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

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

Ответы [ 2 ]

1 голос
/ 08 апреля 2011

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

Посмотрите на эти ресурсы:

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

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\ErrorThresholds
1 голос
/ 08 апреля 2011

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

...