Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 61848|Отговор: 3

[.NET Core] ASP.NET Подробно обяснение на основния междинен софтуер

[Копирай линк]
Публикувано в 18.09.2019 г. 11:35:59 ч. | | | |
Какво е Middleware?

Междинният софтуер е софтуер, който се сглобява в приложни конвейери за обработка на заявки и отговори. Всеки компонент:

  • Изберете дали да предадете заявката на следващия компонент в конвейера.
  • Работата може да се извърши преди и след като следващият компонент в конвейера бъде извикан.

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

Делегатите за заявки се конфигурират чрез методите Run, Map и Use. Отделен делегат за заявки може да бъде заказан в анонимен метод (наречен inline middleware), или може да бъде дефиниран в повторно използваем клас. Тези многократно използваеми класове и методи за вътрешна анонимизация са компоненти на междинен софтуер или междинен софтуер. Всеки компонент на междинния софтуер в потока на заявката отговаря за извикването на следващия компонент в конвейера и, ако е подходящо, за късото съединение на връзката.

Миграцията на HTTP модули към междинен софтуер обяснява разликата между ASP.NET Core и request pipelines в предишни версии (ASP.NET) и предоставя повече примери за междинен софтуер.

Използвайте IApplicationBuilder, за да създадете междинен софтуерен конвейер

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

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

Най-простото е вероятно да настроя делегат ASP.NET Core приложението, който да обработва всички заявки. Този сценарий не включва реалния конвейер на заявки. Вместо това за всяка HTTP заявка се призовава анонимен метод.


Първото приложение. Run delegate прекратява конвейера.

Има код като този:




Достъпен през браузъра се оказва, че наистина се намира в първото приложение. Run прекратява конвейера.



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

Използването на браузър за достъп до резултати като:



Може да се види, че редът на изпълнение на делегата на заявката следва горната схема на потока.

Бележка:

След като отговорът бъде изпратен на клиента, не се обаждайте на следващия път. Invoke。 След като отговорът започне, промените в HttpResponse ще хвърлят изключение. Например, задаването на заглавия за отговори, статус кодове и т.н. ще даде изключение. Напишете отговорното тяло след следващото обаждане.

може да доведе до нарушение на споразумението. Например, писане повече от дължината на съдържанието, описана в съдържанието.

Форматирането на адаптивното съдържание може да е повредено. Например, напишете HTML footer в 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