У меня есть необходимость переопределить получение необработанного HTTP-запроса, так как он передается на сервер IIS. Я хочу знать, возможно ли это.
У нас есть клиент, который отправляет огромные вызовы веб-службы (десятки Мб), и мы хотим начать действовать на части этих вызовов по мере их поступления (чтобы ускорить общее время выполнения вызова веб-службы). ).
В настоящее время, используя обычные методы веб-службы, код нашего приложения передается вызову веб-службы после его полного получения.
Я понимаю, что это не идеальный способ работы с веб-сервисами, и мы не строим на этом свой бизнес, но у нас есть потребность, которую мы пытаемся удовлетворить для ограниченного круга клиентов.
Я создал обработчик, который реализует IHttpHandler, но похоже, что на этом этапе в конвейере процесса IIS полностью получил запрос (что не дает нам никакого преимущества по сравнению с нашей текущей моделью). То есть я могу читать InputStream напрямую, но полный запрос уже передан по проводной связи, прежде чем я получу доступ к этому потоку.
Я думаю, что ответ заключается в том, что мне нужно кодировать фильтр ISAPI, чтобы добиться этого, но у меня нет навыков, чтобы делать это на C / C ++. Кто-нибудь знает, есть ли другой способ сделать это без маршрута фильтра ISAPI?
Приемлемым ответом может быть: «Вы должны сделать это как и ISAPI фильтр, чтобы сделать это в C #, проверьте этот документ».