Настройка Response.StatusCode = 404
не поддерживает контент ни в IE8, ни в Chrome? Он работает в Mozilla, хотя я нахожу это странным!
Простейший из них - пустой проект веб-приложения asp.net с пустой страницей Default.aspx. В событии Page_Load используйте следующее:
protected void Page_Load( object sender, EventArgs e )
{
Response.StatusCode = 404;
}
Это фактически устанавливает код состояния текущего запроса на 404, без сомнения. При рендеринге в IE8 или Chrome, а также в некоторых других браузерах - я не тестировал, фактическая страница вообще не отображается. Эти браузеры отображают свои 404 страницы ошибок по умолчанию (нестандартные ошибки IIS по умолчанию). Пример в IE8:
The webpage cannot be found
HTTP 404
Most likely causes:
•There might be a typing error in the address.
•If you clicked on a link, it may be out of date. ... and so on ...
То, что я действительно хочу сделать, это обслуживать 404 страницу ошибок с кодом ошибки 404, который фактически скажет обозревателю или искателю или тому, кому эта страница не существует, - не только показать какое-то необычное сообщение об ошибке со статусом сообщение 200 OK.
Использование fiddler показывает, что я действительно действительно выполняю запрос, но браузер полностью игнорирует его?!
Мой вопрос - как я могу установить код статуса 404 и все еще отображать содержимое страницы? Пример - http://www.intel.com/invalidpage.wow. Использование fiddler показывает, что эта страница обслуживается кодом статуса 404.