В IIS/ASP.NET можно написать обработчик (программный компонент) методы которого будут вызываться при обработке запросов средствами ASP.NET для формирования страниц или других типов ответов. Эту технологию можно применять для создания обработчиков серверных файлов нового типа, также этот метод применяется для методов ЧПУ (человеко-понятные-урлы).
Содержание |
Специально для демонстрации был написан обработчик с именем HttpTestHandler, его код и бинарное представление (библиотека .dll) можно взять тут - testHandler.rar (8kb). Обработчик формирует ответ веб-сервера в html-виде:
Аналогично статье IIS - установка модуля ASP.NET, HttpModule
Подключение обработчика выполняется в два этапа, при этом необходимо содействие службы поддержки хостинга.
<configuration> <system.web> <httpHandlers> <add verb="*" path="*.test" type="InSolve.test.HttpTestHandler"/> </httpHandlers> </system.web> </configuration>
Важно! IIS 7 на хостинге 1Gb.ru размещает сайты в пул приложений для которого установлен интегрированный режим работы очереди. Если вам по каким-то соображениям нужен классический режим - вы можете обратиться в службу поддержки и оставить заявку на изменение режима работы для вашего сайта. Самостоятельно этого вы сделать не сможете.
Вы можете управлять веб-сервером IIS7 средствами редактирования файла Web.config, обращение в службу поддержки хостинга не требуется, вы можете выполнить конфигурацию самостоятельно. В корне приложения (сайта) вам нужно внести изменения в Web.config добавив следующую секцию:
<configuration> <system.webServer> <handlers> <add name="WildCard" path="*.test" verb="*" type="InSolve.test.HttpTestHandler" resourceType="Unspecified" /> </handlers> </system.webServer> </configuration>
Замечание по поводу обработки всех запросов для примера конфигурации IIS6 справедливо и тут. После внесения изменений запросы к файлам .test вашего сайта будут обрабатываться обработчиком HttpTestHandler:
в процессе написания