У меня есть сайт ASP.NET 3.5, работающий в IIS 7
Я пытаюсь заставить 404 бросить код состояния 404 в первый раз.
В настоящее время, если вы введете
http://www.madeupsiteforexample.com/somethingmadeup
Вы получаете 302, затем 200.
Я пытаюсь заставить это бросить код 404 в первый раз и отобразить страницу 404, которую я установил (/FileNotFound.aspx)
Проблема, с которой я столкнулся, заключается в том, что либо страница 404 отображается с кодом 200, либо IIS вступает во владение, когда видит код состояния 404 и отображает свою собственную ужасную страницу 404, а не мою, созданную пользователем.
Я попытался использовать модули global.asax и установить код состояния в коде моей страницы 404. Все результаты в IIS вступают во владение.
Вот моя реализация Global.asax
protected void Application_Error(object sender, EventArgs e)
{
Response.TrySkipIisCustomErrors = true;
Response.StatusCode = 404;
}
Теперь я решил эту проблему с помощью сервера. Передав свой запрос.
Это, однако, приводит к тому, что весь сеанс становится нулевым, и любой код, ссылающийся на Session, вызывает исключение. Также код, пытающийся извлечь элементы из файлов ресурсов, вызывает исключения.
Любые предложения или статьи о "правильном способе" сделать 404 в IIS7?