ASP.NET: переопределение ответа IIS для ожидания заголовка 100?

У меня есть приложение ASP.NET, которое получает запросы от клиентского программного обеспечения, а заголовки запросов содержат «запрос 100-продолжить».

Я хочу переопределить автоматический ответ IIS на заголовок запроса-100, чтобы я мог использовать другие заголовки для аутентификации пользователя (или нет) и отправить правильный ответ в зависимости от состояния (очевидно, 100 продолжить для аутентификации) или правильное сообщение об ошибке .


person Madi D.    schedule 22.11.2009    source источник


Ответы (1)


То, как мы достигли этого типа, и я считаю, что общий подход заключается в создании HTTP-модуля. Модули вызываются при каждом запросе, сделанном к вашему приложению как часть конвейера запросов, и имеют доступ к событиям жизненного цикла на протяжении всего процесса. запрос. Вы можете изучить каждый запрос и предпринять действия, такие как выполнение аутентификации и изменение заголовков на основе запроса. Они также позволяют изучить исходящий ответ и изменить его.

Примечания из http://msdn.microsoft.com/en-us/library/bb398986.aspx — отличный ресурс, если вы не знакомы с модулями.

Надеюсь это поможет!

person PortageMonkey    schedule 25.11.2009
comment
я уже проверил модули HTTP, я считаю, что они приходят в процессе запроса после IIS, поэтому они получат запрос после того, как IIS обработает его (и отправит заголовок продолжения 100).. изменения, я считаю, должны быть сделано против самого IIS, и единственным способом, который я нашел, была разработка ISAPI (C++).. - person Madi D.; 25.11.2009
comment
Работаете с IIS 6 или 7? Если 7, вы можете создать свой собственный модуль для любого шага конвейера. - person PortageMonkey; 25.11.2009
comment
Да, хотя реализация немного отличается. Вы можете зарегистрировать модули для большинства событий жизненного цикла ASP.NET, таких как «AuthenticateRequest», «AuthenticateRequest», «BeginRequest» и т. д. Эта ссылка должна предоставить информацию, которую вы ищете. Примерно на полпути вниз по странице на 15seconds.com/Issue/020417.htm - person PortageMonkey; 27.11.2009