Что такое обработчик HttpHandler в ASP.NET



Что такое HttpHandler в ASP.NET почему и как он используется?

656   6  

6 ответов:

в самых простых терминах, an ASP.NET HttpHandler-это класс, который реализует System.Web.IHttpHandler интерфейс.

ASP.NET HTTPHandlers отвечают за перехват запросов, сделанных на ваш ASP.NET сервер веб-приложений. Они запускаются как процессы в ответ на запрос, сделанный к ASP.NET сайт. Наиболее распространенным обработчиком является ASP.NET обработчик страниц, который обрабатывает .aspx-файлов. Когда пользователи запрашивают .aspx-файл, запрос обрабатывается страницей через обработчик страниц.

ASP.NET предлагает несколько обработчики HTTP по умолчанию:

  • Обработчик Страницы (.aspx): обрабатывает веб-страницы
  • Обработчик Пользовательского Управления (.ascx): обрабатывает веб-страницы управления пользователями
  • Обработчик Веб-Сервис (.asmx): обрабатывает страницы веб-службы
  • обработчик трассировки (trace.axd): обрабатывает функциональность трассировки

вы можете создать свой собственный пользовательские обработчики HTTP которые отображают пользовательский вывод браузер. Типичные сценарии для обработчиков http-данных в ASP.NET к примеру

  • доставка динамически созданных изображений (например, диаграмм) или измененных изображений.
  • RSS-каналы, которые испускают RSS-formated XML

вы реализовать the IHttpHandler интерфейс для создания синхронного обработчика и IHttpAsyncHandler интерфейс для создания асинхронного обработчика. Интерфейсы требуют, чтобы вы реализовали ProcessRequest способ и IsReusable свойство.

The ProcessRequest метод обрабатывает фактическую обработку запросов, в то время как логическое IsReusable свойство указывает, может ли ваш обработчик быть объединен в пул для повторного использования (для повышения производительности) или требуется новый обработчик для каждого запроса.

An HttpHandler (или IHttpHandler) в основном все, что отвечает за обслуживание контента. Ан ASP.NET страница (aspx) - это тип обработчика.

вы можете написать свой собственный, например, для обслуживания изображений и т. д. Из базы данных, а не с самого веб-сервера, или написать простой сервис POX (а не SOAP/WCF/etc)

Пример Обработчика HttpHandler,

обработчик HTTP in ASP.NET 2.0

обработчик отвечает за выполнение запросов из браузера. Запросы, которыми управляет браузер, обрабатываются либо расширением файла, либо прямым вызовом обработчика.Низкоуровневый API запросов и ответов для обслуживания входящих Http-запросов - это обработчики Http в Asp.Net все обработчики реализуют интерфейс IHttpHandler, который находится в системе.Веб-пространство. Обработчики являются несколько аналогично расширениям интерфейса прикладного программирования (ISAPI) интернет-сервера.

вы реализуете интерфейс IHttpHandler для создания синхронного обработчика и интерфейс IHttpAsyncHandler для создания асинхронного обработчика. Интерфейсы требуют реализации метода ProcessRequest и свойства IsReusable. Метод ProcessRequest обрабатывает фактическую обработку сделанных запросов, в то время как свойство Boolean IsReusable указывает, может ли ваш обработчик быть пул для повторного использования для повышения производительности или требуется ли новый обработчик для каждого запроса.

The .расширение файла ashx зарезервировано для пользовательских обработчиков. Если вы создаете пользовательский обработчик с расширением имени файла .ashx, он будет автоматически зарегистрирован в IIS и ASP.NET. если вы решите использовать альтернативное расширение файла, вам придется зарегистрировать расширение в IIS и ASP.NET. преимущество использования расширения, отличного от .ashx-это то, что вы можете назначить несколько расширения файлов для одного обработчика.

настройка обработчиков HTTP

обработчик раздела конфигурации отвечает за сопоставление входящих URL-адресов классу IHttpHandler или IHttpHandlerFactory. Он может быть объявлен на уровне компьютера, сайта или приложения. Подкаталоги наследуют эти параметры. Администраторы используют директиву tag для настройки раздела. директивы интерпретируются и обрабатываются в последовательном порядке сверху вниз. Использовать следующее синтаксис для обработчика разделов:

создание обработчиков HTTP

чтобы создать обработчик HTTP, необходимо реализовать интерфейс IHttpHandler. Интерфейс IHttpHandler имеет один метод и одно свойство со следующими подписями: void ProcessRequest(HttpContext); bool IsReusable {get;}

любой класс, который реализует System.Web.IHttpHandler интерфейс становится HttpHandler. И этот класс запускается как процессы в ответ на запрос, сделанный ASP.NET сайт.

наиболее распространенным обработчиком является ASP.NET обработчик страниц, который обрабатывает .aspx-файлов. Когда пользователи запрашивают .aspx-файл, запрос обрабатывается страницей через обработчик страниц(класс, который реализует System.Web.IHttpHandler интерфейс).

вы можете создать свои собственные обработчики HTTP, которые отображают пользовательские выходные данные браузер.

некоторые ASP.NET обработчики по умолчанию:

  1. Обработчик Страницы (.aspx) - обрабатывает веб-страницы
  2. Обработчик Пользовательского Управления (.ascx) - обрабатывает веб-страницы управления пользователями
  3. Обработчик Веб-Сервис (.asmx) - обрабатывает страницы веб-службы
  4. обработчик трассировки (trace.axd) - обрабатывает функциональность трассировки

An ASP.NET обработчик HTTP-это процесс (часто называемый "конечная точка"), который выполняется в ответ на запрос, сделанный на ASP.NET веб-приложение. Наиболее распространенным обработчиком является ASP.NET обработчик страниц, который обрабатывает .aspx-файлов. Когда пользователи запрашивают .aspx-файл, запрос обрабатывается страницей через обработчик страниц. Вы можете создать свои собственные обработчики HTTP, которые отображают пользовательские выходные данные в браузере.

An ASP.NET HTTP обработчик-это процесс (часто называемый "конечная точка"), который выполняется в ответ на запрос, сделанный ASP.NET веб-приложение. Наиболее распространенным обработчиком является ASP.NET обработчик страниц, который обрабатывает .aspx-файлов. Когда пользователи запрашивают .aspx file, запрос обрабатывается страницей через обработчик страниц.

ASP.NET обработчик страниц - это только один тип обработчика. ASP.NET поставляется с несколькими другими встроенными обработчиками, такими как обработчик веб-службы для .asmx files.

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

RSS-каналы чтобы создать RSS-канал для сайта, можно создать обработчик, который выдает XML в формате RSS. Затем вы можете связать .расширение rss (например) в вашем приложении для пользовательского обработчика. Когда пользователи отправляют запрос на ваш сайт, который заканчивается .rss, ASP.NET вызовет обработчик для обработки запроса.

Image server если вы хотите, чтобы ваше веб-приложение обслуживало изображения различных размеров, вы можете написать пользовательский обработчик для изменения размера изображений, а затем отправить их обратно пользователю в качестве ответа обработчика.

обработчики HTTP имеют доступ к контексту приложения, включая идентификатор запрашивающего пользователя (если он известен), состояние приложения и информацию о сеансе. Когда запрашивается обработчик HTTP, ASP.NET звонит в ProcessRequest метод на соответствующем обработчике. Обработчик ProcessRequest метод создает ответ, который отправляется обратно в браузер. Как и при любом запросе страницы, Ответ проходит через все HTTP-модули, подписанные на события, которые происходят после запуска обработчика.

Comments

    Ничего не найдено.