Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 61848|Odpoveď: 3

[.NET Core] ASP.NET Podrobné vysvetlenie Core Middleware

[Kopírovať odkaz]
Zverejnené 18. 9. 2019 11:35:59 | | | |
Čo je middleware?

Middleware je softvér, ktorý sa zostavuje do aplikačných pipeline na spracovanie požiadaviek a odpovedí. Každý komponent:

  • Zvoľte, či požiadavku odovzdáte ďalšiemu komponentu v pipeline.
  • Práca môže byť vykonaná pred aj po spustení ďalšej zložky v pipeline.

Delegáti požiadaviek sa používajú na vytvorenie pipeline požiadaviek, ktorá spracováva každú HTTP požiadavku.

Delegáti požiadaviek sa konfigurujú pomocou metód rozšírenia Run, Map, and Use. Samostatný delegát požiadaviek môže byť špecifikovaný v inline anonymnej metóde (nazývanej inline middleware), alebo môže byť definovaný v opakovane použiteľnej triede. Tieto opakovane použiteľné triedy a metódy inline anonymizácie sú middleware alebo middleware komponenty. Každý middleware komponent v požiadavkovom toku je zodpovedný za volanie ďalšieho komponentu v pipeline a, ak je to vhodné, za skrat linky.

Migrácia HTTP modulov do middleware vysvetľuje rozdiel medzi ASP.NET Core a požiadavkovými pipeline v predchádzajúcich verziách (ASP.NET) a poskytuje viac príkladov middleware.

Použite IApplicationBuilder na vytvorenie middleware pipeline

Proces požiadaviek ASP.NET Core pozostáva zo série delegátov požiadaviek, ako je znázornené na nasledujúcom obrázku (proces vykonávania nasleduje čiernu šípku):

Každý delegát môže vykonať akcie pred a po ďalšom delegátovi. Delegát sa tiež môže rozhodnúť neodovzdať požiadavku ďalšiemu delegátovi, čo sa nazýva skrat v pipeline požiadaviek. Skrat je zvyčajne žiaduci, pretože zabraňuje zbytočnej práci. Napríklad statický middleware môže vrátiť požiadavku na statický súbor a skratovať zvyšok pipeline. Delegáti na spracovanie výnimiek musia byť volaní už na začiatku pipeline, aby mohli zachytiť výnimky v neskorších pipeline.

Najjednoduchšie je pravdepodobne nastaviť delegáta ASP.NET Core aplikácie, ktorý bude riešiť všetky požiadavky. Tento scenár nezahŕňa samotný pipeline požiadaviek. Namiesto toho sa pre každú HTTP požiadavku volá anonymná metóda.


Prvá aplikácia. Run delegate ukončí pipeline.

Existuje kód ako tento:




Po prístupe cez prehliadač sa zistí, že sa naozaj nachádza v prvej aplikácii. Run ukončí pipeline.



V aplikácii môžete delegovať viacero požiadaviek. Používanie je navzájom prepojené. Ďalší parameter predstavuje ďalšieho delegáta v pipeline. (Majte na pamäti, že pipeline môžete ukončiť tým, že nebudete volať ďalší parameter.) Zvyčajne môžete vykonať akcie pred a po ďalšej delegácii, ako je znázornené v nasledujúcom príklade:

Používanie prehliadača na prístup k výsledkom, ako napríklad:



Je vidieť, že poradie vykonávania delegáta požiadaviek nasleduje vyššie uvedený diagram.

Nota:

Po odoslaní odpovede klientovi nevolajte ďalej. Invoke。 Po začiatku odpovede zmeny v HttpResponse vyhodia výnimku. Napríklad nastavenie hlavičiek odpovedí, stavových kódov a podobne vyhodí výnimku. Napíšte odpovedné telo po ďalšom volaní.

môže viesť k porušeniu dohody. Napríklad písanie dlhšie, než je dĺžka obsahu opísaná v dĺžke obsahu.

Responzívne formátovanie obsahu môže byť nefunkčné. Napríklad napíšte HTML pätku do CSS súboru.

HttpResponse.HasStarted je užitočná nápoveda na indikáciu, či bola odoslaná hlavička odpovede a/alebo či bol napísaný samotný text.


Vstavaný middleware

ASP.NET Core obsahuje nasledujúce middleware komponenty:


Middlewarepopis
AutentifikáciaPodpora autentifikácie je dostupná
CORSKonfigurácia zdieľania zdrojov naprieč doménami
Vyrovnávanie odozvyPodpora cache response je dostupná
Kompresia odozvyPoskytnutie podpory kompresie odozvy
TrasovanieDefinovať a obmedziť smerovanie požiadaviek
ZasadnutiePoskytuje správu používateľských relácií
Statické súboryPoskytuje podporu pre prehliadanie statických súborov a adresárov
Middleware na prepísanie URLPoužíva sa na prepisovanie URL a žiadosti o podporu presmerovaní





Predchádzajúci:Baiduov nový produkt! One Moment Album si momentálne môže nárokovať neobmedzené úložisko 1 milión používateľov:
Budúci:Anglické úrovne 4 a 6 Počúvanie a prijímacie skúšky na postgraduálne štúdium Opakovanie anglickej slovnej zásoby Ústne zdieľanie údajov
Zverejnené 22. 9. 2021 20:47:00 |
Nauč sa učiť...
Zverejnené 10. 10. 2021 18:55:42 |
Naučte sa, aby ste sa učili, a tento článok otvoril členstvo
Zverejnené 10. 10. 2021 18:59:21 |
https://www.cnblogs.com/stulzq/p/7760648.html
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com