Я построил модуль http в C #, который просто переопределяет EndRequest жизненного цикла, проверяет код состояния заголовка ответа и изменяет код ответа, если это необходимо. Что-то вроде:
HttpContext context = ((HttpApplication)source).Context;
if (context.Response.StatusCode == 200)
{
context.Response.StatusCode = 404;
}
Мне кажется, что это нормально работает, когда я тестирую его на локальном хосте (настоящий IIS), но когда я включаю доступ в интрасеть и тестирую с другого компьютера, каждый раз происходит сбой.
Ошибка при тестировании через другой компьютер:
«Сервер не может установить состояние после отправки заголовков HTTP.»
Я также заметил, что запрашивает один и тот же файл дважды, тогда как локально он запрашивает файл только один раз. Я слышал, как кто-то что-то говорил о буферизации вывода, но я также попытался установить для свойства OutputBuffer ответа BeginRequest значение true и получил те же результаты.
Мысли