Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 61848|Odpověď: 3

[.NET Core] ASP.NET Podrobné vysvětlení jádrového middleware

[Kopírovat odkaz]
Zveřejněno 18.09.2019 11:35:59 | | | |
Co je to middleware?

Middleware je software, který je sestaven do aplikačních pipeline pro zpracování požadavků a odpovědí. Každá složka:

  • Zvolit, zda požadavek předat další komponentě v pipeline.
  • Práce může být provedena před i po spuštění další komponenty v pipeline.

Delegáti požadavků se používají k vytvoření pipeline požadavků, která zpracovává každý HTTP požadavek.

Delegáti požadavků jsou konfigurováni pomocí metod rozšíření Run, Map, and Use. Samostatný delegát požadavků může být specifikován v anonymní metodě (nazývané inline middleware), nebo může být definován v opakovaně použitelné třídě. Tyto znovupoužitelné třídy a metody inline anonymizace jsou middleware nebo middleware komponenty. Každá middleware komponenta v toku požadavků je odpovědná za volání další komponenty v pipeline a v případě potřeby za zkrat linky.

Migrace HTTP modulů do middleware vysvětluje rozdíl mezi ASP.NET Core a požadovými pipeline v předchozích verzích (ASP.NET) a poskytuje více příkladů middleware.

Použijte IApplicationBuilder k vytvoření middleware pipeline

Proces požadavků ASP.NET Core se skládá ze série delegátů požadavků, jak je znázorněno na následujícím obrázku (proces vykonání následuje černou šipku):

Každý delegát může provádět akce před a po dalším delegátovi. Delegát se také může rozhodnout, že požadavek nepředá dalšímu delegátovi, což se nazývá zkrat v pipeline požadavků. Zkrat je obvykle žádoucí, protože se vyhne zbytečné práci. Například statický souborový middleware může vrátit požadavek na statický soubor a zkratovat zbytek pipeline. Delegáti pro zpracování výjimek je třeba volat brzy v pipeline, aby mohli zachytit výjimky v pozdějších pipeline.

Nejjednodušší je pravděpodobně nastavit delegáta ASP.NET hlavní aplikaci, který bude zpracovávat všechny požadavky. Tento scénář nezahrnuje samotný požadavkový pipeline. Místo toho je pro každý HTTP požadavek volána anonymní metoda.


První aplikace. Run Delegate ukončí pipeline.

Existuje kód jako tento:




Po přístupu přes prohlížeč se zjistilo, že je skutečně v první aplikaci. Run ukončí pipeline.



V aplikaci můžete delegovat více požadavků. Užití je propojené. Další parametr představuje dalšího delegáta v pipeline. (Mějte na paměti, že pipeline můžete ukončit tím, že nevoláte další parametr.) Obvykle můžete provádět akce před a po další delegaci, jak je ukázáno v následujícím příkladu:

Používání prohlížeče pro přístup k výsledkům, jako jsou:



Je vidět, že pořadí vykonávání delegáta požadavku odpovídá výše uvedenému diagramu.

Poznámka:

Poté, co je odpověď odeslána klientovi, nevolejte příště. Invoke。 Po zahájení odpovědi změny v HttpResponse vyhodí výjimku. Například nastavení hlaviček odpovědí, stavových kódů atd. vyhodí výjimku. Po dalším volání napište tělo odpovědi.

může vést k porušení dohody. Například psaní delší než délka obsahu popsaná v obsahové délce.

Responzivní formátování obsahu může být rozbité. Například napište HTML patu do CSS souboru.

HttpResponse.HasStarted je užitečná nápověda, která ukazuje, zda byla odeslána hlavička odpovědi a/nebo zda bylo napsáno tělo odpovědi.


Vestavěný middleware

ASP.NET Core obsahuje následující middleware komponenty:


Middlewarepopis
AutentizacePodpora autentizace je k dispozici
CORSKonfigurace sdílení zdrojů napříč doménami
Cache odezvyPodpora cache response je k dispozici
Komprese odezvyPodpora komprese odezvy
SměrováníDefinujte a omezte směrování požadavků
ZasedáníPoskytuje správu uživatelských relací
Statické souboryPoskytuje podporu pro prohlížení statických souborů a adresářů
Middleware pro přepisování URLPoužívá se k přepsání URL a žádosti o podporu přesměrování





Předchozí:Baiduův nový produkt! One Moment Album si v současnosti může nárokovat neomezené úložiště 1 milion uživatelů:
Další:Angličtina úrovně 4 a 6 Poslech a přijímací zkouška na postgraduální studium Anglická slovní zásoba – opakované zkoušení Ústní sdílení dat
Zveřejněno 22.09.2021 20:47:00 |
Uč se učit...
Zveřejněno 10.10.2021 18:55:42 |
Učte se, abyste se naučili, a tento článek otevřel členství
Zveřejněno 10.10.2021 18:59:21 |
https://www.cnblogs.com/stulzq/p/7760648.html
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com