Конфигурирование и настройка Microsoft ASP.NET




Работа с разделом <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>.

Таблица 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 для нового типа расширений.




Содержание  Назад  Вперед