Я понимаю, что процесс обработки обработчиков http обрабатывает, но это просто теория, поскольку я ее не понимаю. Многим сторонним элементам управления требуется добавить обработчик http в web.config. И иногда нам необходимо создать собственный класс с помощью метода ProcessRequest, который реализует интерфейс IHttpHandler, но я смущен, чтобы понять, где подходит Http-обработчик и каковы его роли?Зачем нам нужны Http-обработчики?
ответ
Http Обработчики являются неотъемлемой частью ASP.NET - они , что обрабатывает запрос и генерирует ответ. В веб-формах типично для стр. (aspx или, возможно, ashx) для интерпретации запроса, но это сам тип обработчика (только отображаемый по умолчанию в основном файле web.config).
В случае добавления обработчиков в файл конфигурации, как правило, это потому, что приложение генерирует содержимое динамически для URL-адресов, которые не волшебно карту в существующие файлы или добавить некоторую логику для файлов, которые делают существуют, но которые не являются регулярными asp.net.
Если вы используете ASP.NET MVC, вы, как правило, это нужно гораздо меньше (если вообще), так как это норма запросов не отображать непосредственно к ASPX/ASHx в исходном дереве.
Возвращаясь к веб-формам ASP.NET, основное время, которое я использовал обработчики, - это делать такие вещи, как бинарные загрузки, экспорт файлов и т. Д. - там, где я действительно не хочу, чтобы он работал через конвейер aspx webforms.
Лично я использую их для обработки всех моих запросов AJAX. Поскольку я обычно выводю XML/JSON, я использую обработчик, поэтому мне не нужно беспокоиться обо всех накладных расходах, связанных с внедрением System.Web.UI.Page.
Они также позволяют перехватывать HTTP-конвейер, который может быть полезен время от времени. Я думаю, все зависит от того, чего вы пытаетесь достичь.
Шон
HttpHandlers не перехватывают конвейер, для этого вы должны использовать HttpModules. –
- 1. Зачем нам нужны волокна
- 2. Зачем нам нужны геометрии слияния?
- 3. Зачем нам нужны недействительные функции?
- 4. Зачем нам нужны средства отчетности?
- 5. Зачем нам нужны статические конструкторы?
- 6. Зачем нам нужны шаблоны проектирования
- 7. Зачем нам нужны «вне» параметры?
- 8. Зачем нам нужны директивы в angularJS?
- 9. Зачем нам нужны «Алгебраические типы данных»?
- 10. Зачем нам нужны черты в scala?
- 11. Зачем нам нужны эталонные рушатся правила
- 12. Образец репозитория - зачем нам нужны интерфейсы?
- 13. Зачем нам нужны поля, если есть свойства?
- 14. Зачем нам нужны предубеждения в нейронной сети?
- 15. Зачем нам нужны параметры визуализации в jsr286
- 16. Зачем нам нужны другие языки JVM
- 17. Зачем нам нужны создать и построить функции
- 18. Зачем нам нужны структуры данных, кроме HashMap
- 19. Зачем нам нужны BeginGetResponse и BeginRead?
- 20. Зачем нам нужны числовые литералы в Java?
- 21. Зачем нам нужны конвертеры для TextFormatters
- 22. Зачем нам нужны веб-сервисы RESTful?
- 23. Зачем нам нужны 2 узла для opsceneter
- 24. Зачем нужны делегаты? Почему нам даже нужны события?
- 25. Почему нам нужны конструкторы?
- 26. Зачем нам C-союзы?
- 27. Зачем нам делегаты C#
- 28. Зачем нам нужен cmake?
- 29. Нужны ли нам указатели?
- 30. Зачем нам насмешливые рамки?
Каждый запрос должен обрабатываться некоторой частью кода, будь то .aspx, .ashx, .asmx или что-то еще. Это делается с помощью HttpHandlers, и asp.net поставляется с кучей обработчиков предварительной сборки, и вы можете добавить больше своего выбора. –