Я реализую пользовательский IHttpModule в проекте, который фильтрует загрузку файлов и предоставляет статус загрузки. Я хочу, чтобы пользовательский модуль рано закрывал соединение (не хотите получать все данные, которые посылает другая сторона, что может быть большим, сохранить входящую полосу пропускания).Закрытие соединения с браузером раннего и возвращающего статуса ответа
Возможно ли использование протокола HTTP?
Я попытался отправить заголовок «ContentLength: 0» и «Connection: close», сбросить ответ, закрыть соединение (HttpWorkerRequest.CloseConnection).
workerRequest.SendStatus(400, "Bad request");
workerRequest.SendKnownResponseHeader(HttpWorkerRequest.HeaderContentLength, "0");
workerRequest.SendKnownResponseHeader(HttpWorkerRequest.HeaderConnection, "close");
workerRequest.FlushResponse(false);
workerRequest.CloseConnection();
((HttpApplication)sender).CompleteRequest();
Отзыв об ошибке браузера/firefox отображает сообщение об ошибке «Сброс соединения». Без каких-либо признаков получения каких-либо данных/заголовка/статуса с сервера.
Заранее спасибо.
Невозможно изменить модификацию клиента, так как это должен быть браузер –
В этом случае браузеры также не читают статус. В отправке статуса нет смысла. –
Для загрузки; вам всегда нужно написать свой собственный клиентский плагин в flash или silverlight. –