Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 61848|Válasz: 3

[.NET mag] ASP.NET Részletes magyarázat a Core Middleware-ről

[Linket másol]
Közzétéve 2019. 09. 18. 11:35:59 | | | |
Mi az a Middleware?

A middleware olyan szoftver, amelyet alkalmazási pipeline-okba szerelnek össze, hogy kezelje a kéréseket és válaszokat. Minden komponens:

  • Döntsd el, hogy a kérést továbbítja-e a csővezeték következő komponensejének.
  • A munkát elvégezhetjük a csővezeték következő komponense behívása előtt és után.

A kérésdelegáltak segítségével egy olyan kérvénysorozatot építenek, amely minden HTTP kérést kezel.

A kérésdelegáltak a Run, Map és Use kiterjesztési módokkal vannak konfigurálva. Egy külön kérésdelegált megadható egy inline anonim metódusban (inline middleware), vagy definiálható egy újrahasználható osztályban. Ezek az újrahasználható osztályok és az inline anonimizációs módszerek közműprogramnak vagy middleware komponenseknek számítanak. Minden közműszoftver komponens a kérésfolyamban felelős a csővezeték következő komponense, és ha megfelelő, a kapcsolat rövidzárlatának hívásáért.

A HTTP modulok áthelyezése middleware-re magyarázza a különbséget a ASP.NET Core és a korábbi verziók (ASP.NET) request pipeline között, és további middleware példákat kínál.

Használd az IApplicationBuilder segítségével middleware pipeline létrehozását

Az ASP.NET Core kérési folyamat egy sor kérésdelegált rendszerből áll, ahogy az alábbi ábrán is látható (a végrehajtási folyamat a fekete nyíl nyomán halad):

Minden delegált végrehajthat a következő delegált előtt és után végrehajtott műveleteket. A megbízott dönthet arról is, hogy nem adja át a kérelmet a következő delegáltnak, amit rövidzárlatnak neveznek a kérelmező vezetékében. A rövidzárlat általában kívánatos, mert elkerüli a felesleges munkát. Például a statikus fájl middleware visszaadhat egy statikus fájlkérést, és rövidzárlatot okozhat a csővezeték többi részében. A kivételkezelő delegáltakat korán kell meghívni a csővezeték során, hogy a későbbi csővezetékekben is elkaphassák a kivételeket.

A legegyszerűbb valószínűleg az, ha létrehozol egy delegált ASP.NET a Core alkalmazásban, hogy kezelje az összes kérést. Ez a forgatókönyv nem tartalmazza a tényleges kérési csővezetéket. Ehelyett minden HTTP kéréshez egy anonim metódust hívnak.


Az első alkalmazás. A Run delegate megszünteti a pipeline-t.

Van ilyen kód:




A böngészőn keresztül elérhetővé válik, hogy valóban az első alkalmazásban van. A futtatás megszünteti a csővezetéket.



Az alkalmazással több kérést is delegálhatsz. A használat összefügg. A következő paraméter a következő delegált jelöli a csővezetékben. (Ne feledd, hogy a csővezetéket úgy is megszüntetheted, ha nem hívod a következő paramétert.) Általában a következő delegáció előtt és után is végrehajthatod a műveleteket, ahogy az alábbi példa is mutatja:

Böngésző használatával olyan eredményekhez jutsz hozzá, mint például:



Látható, hogy a kérelmet megbízott végrehajtó végrehajtási sorrendje a fenti folyamatábra követi.

Jegyzet:

Miután a válasz elküldődött az ügyfélnek, ne hívjon legközelebb. Invoke。 A válasz elindulása után a HttpResponse módosítása kivételt eredményez. Például válaszfejlések, státuszkódok stb. beállítása kivételt eredményez. Írd meg a válasz testét a következő hívás után.

ez a megállapodás megsértéséhez vezethet. Például ha többet írunk, mint a tartalomhossz által leírt tartalomhossz.

A reponzív tartalomformázás hibás lehet. Például írj egy HTML lábalapot egy CSS fájlba.

A HttpResponse.HasStarted hasznos jelzés arra, hogy elküldték-e a válaszfejlécet és/vagy a törzset írták-e.


Beépített middleware

ASP.NET Core a következő middleware komponensekkel érkezik:


Middlewareleírás
HitelesítésHitelesítési támogatás elérhető
CORSA tartományok közötti erőforrás-megosztás konfigurálása
VálaszgyorsítótárCache válasz támogatás elérhető
VálaszkompresszióTámogatás a válaszkompresszióhoz
ÚtvonalDefiniáld és korlátozzuk a kérés útvonalat
SzekcióFelhasználói üléskezelést biztosít
Statikus fájlokTámogatja a statikus fájl- és könyvtárböngészést
URL Middleware újraírásaURL-ek újraírásához és támogatás kérésére használták





Előző:Baidu új terméke! A One Moment Album jelenleg 1 millió felhasználó igényelheti korlátlan tárhelyet:
Következő:Angol 4. és 6. szintű hallgatás és posztgraduális felvételi vizsga Angol szókincs újravizsgázás Szóbeli adatmegosztás
Közzétéve 2021. 09. 22. 20:47:00 |
Tanulj meg...
Közzétéve 2021. 10. 10. 18:55:42 |
Tanulj meg tanulni, helyben ez a cikk tagságot nyitott
Közzétéve 2021. 10. 10. 18:59:21 |
https://www.cnblogs.com/stulzq/p/7760648.html
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com