Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 61848|Ответ: 3

[.NET Core] ASP.NET Подробное объяснение Core Middleware

[Скопировать ссылку]
Опубликовано 18.09.2019 11:35:59 | | | |
Что такое промежуточное программное обеспечение?

Промежуточное ПО — это программное обеспечение, которое объединяется в конвейеры приложений для обработки запросов и ответов. Каждый компонент:

  • Выберите передачу запроса следующему компоненту в конвейере.
  • Работа может быть выполнена до и после запуска следующего компонента в конвейере.

Делегаты запросов используются для построения конвейера запросов, который обрабатывает каждый HTTP-запрос.

Делегаты запроса настраиваются с помощью методов расширения Run, Map и Use. Отдельный делегат запроса может быть заказан в встроенном анонимном методе (называемом встроенным промежуточным ПО) или в повторно используемом классе. Эти повторно используемые классы и методы встроенной анонимизации являются промежуточными или промежуточными компонентами. Каждый компонент промежуточного программного обеспечения в потоке запроса отвечает за вызов следующего компонента в конвейере и, при необходимости, за короткое замыкание соединения.

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

Используйте IApplicationBuilder для создания промежуточного конвейера

Процесс запроса ASP.NET Core состоит из серии делегатов запросов, как показано на следующем рисунке (процесс выполнения следует чёрной стрелке):

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

Самое простое — настроить делегат ASP.NET Core приложении для обработки всех запросов. Этот сценарий не включает сам конвейер запросов. Вместо этого для каждого HTTP-запроса вызывается анонимный метод.


Первое приложение. Запуск делегата завершает конвейер.

Есть код такой:




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



С помощью приложения можно делегировать несколько запросов. Использование связано между собой. Следующий параметр представляет следующего делегата в конвейере. (Имейте в виду, что конвейер можно завершить, не вызывая следующий параметр.) Обычно вы можете выполнять действия до и после следующей делегации, как показано в следующем примере:

Использование браузера для доступа к таким результатам, как:



Видно, что порядок выполнения делегата запроса соответствует приведённой выше блок-схеме.

Заметка:

После отправки ответа клиенту не звоните дальше. Invoke。 После запуска ответа изменения в HttpResponse появят исключение. Например, установка заголовков ответов, кодов статуса и т.д. приводит к исключению. Пишите ответное тело после следующего звонка.

может привести к нарушению соглашения. Например, написание больше, чем длина содержания, описанная в content-length.

Адаптивное форматирование контента может быть сломано. Например, впишите HTML-футер в CSS-файл.

HttpResponse.HasStarted — это полезная подсказка, указывающая, был ли заголовок ответа отправлен и/или написан ли текст.


Встроенное промежуточное программное обеспечение

ASP.NET Core поставляется со следующими компонентами промежуточного программного обеспечения:


Промежуточное программное обеспечениеописание
АутентификацияДоступна поддержка аутентификации
CORSНастройка междоменного совместного использования ресурсов
Кэширование откликаДоступна поддержка ответа кэша
Сжатие откликаОбеспечение поддержки сжатия отклика
МаршрутизацияОпределить и ограничить маршрутизацию запроса
СессияОбеспечивает управление пользовательскими сессиями
Статические файлыОбеспечивает поддержку статического просмотра файлов и каталогов
Переписывание промежуточного программного обеспечения URLИспользуется для переписывания URL и запроса поддержки перенаправления





Предыдущий:Новый продукт Baidu! One Moment Album В настоящее время 1 миллион пользователей могут претендовать на неограниченное хранение:
Следующий:Английский уровень 4 и 6: Аудирование и вступительный экзамен в аспирантуру, повторный экзамен английского словарного запаса, устный обмен данными
Опубликовано 22.09.2021 20:47:00 |
Научись учиться...
Опубликовано 10.10.2021 18:55:42 |
Учитесь учиться, в этой статье вы открыли членство
Опубликовано 10.10.2021 18:59:21 |
https://www.cnblogs.com/stulzq/p/7760648.html
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com