|
|
Опубликовано 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: Аудирование и вступительный экзамен в аспирантуру, повторный экзамен английского словарного запаса, устный обмен данными
|