Работа с разделом <httpHandlers>
Обработчики HTTP – это классы, которые обрабатывают HTTP-запросы для конкретного расширения файла, почти как расширения ISAPI. Обработчики HTTP существуют для aspx, .asmx, .rem и многих других расширений файлов ASP.NET по умолчанию. Раздел <httpHandlers> на основе действия HTTP, расширения файла и URL ресурса ставит в соответствие запросам HTTP корректный обработчик HTTP. Раздел <httpHandlers> – это еще один основанный на коллекции раздел, то есть в него можно добавлять и удалять элементы, очищать весь раздел полностью. Ниже приведен синтаксис добавления в раздел <httpHandlers> соответствий обработчиков HTTP.
<httpHandlers> <add verb="http verb list" path="url path" type="handler class" validate="true|false" /> </httpHandlers>
Таблица 4.10 содержит перечень свойств раздела <httpHandlers>.
verb | Список разделенных запятыми действий HTTP, к которым относится это соответствие. Для связи с обработчиком всех действий HTTP используйте знак подстановки "*". |
path | Здесь указывается URL, к которому относится это соответствие. Обычно путь – это шаблон, включающий все файлы с конкретным расширением, например *.aspx. |
type | Класс или сборка .NET, содержащая обработчик HTTP. |
validate | Значение, указывающее, когда ASP.NET загружает класс обработчика HTTP. При установке его в false ASP.NET не загружает класс обработчика HTTP, пока не придет запрос, подпадающий под действия критерия соответствия запроса. При установке его в значение true этот класс будет загружен при первоначальной обработке настроечного файла. |
Ниже показан пример соответствия обработчика .aspx.
<httpHandlers> <add verb="*" path="*.aspx" type="System.Web.UI.PageHandlerFactory" /> </httpHandlers>
Когда с помощью одного из действий HTTP выполняется запрос к странице с расширением .aspx, страница обрабатывается обработчиком HTTP System.Web.UI.PageHandlerFactory. Удалить соответствие обработчика HTTP можно так:
<httpHandlers> <remove verb="*" path="*.aspx" type="System.Web.UI.PageHandlerFactory" /> </httpHandlers>
Для сброса всех соответствий обработчиков, добавленных в предыдущие настроечные файлы, используется популярный элемент <clear />.
<httpHandlers> <clear /> </httpHandlers>
Теперь давайте рассмотрим, как создавать собственный обработчик HTTP для нового типа расширений.