Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 61848|Răspunde: 3

[.NET Core] ASP.NET Explicație detaliată a Middleware-ului de bază

[Copiază linkul]
Postat pe 18.09.2019 11:35:59 | | | |
Ce este Middleware-ul?

Middleware-ul este software asamblat în pipeline-uri de aplicații pentru a gestiona cererile și răspunsurile. Fiecare componentă:

  • Alege dacă să treci cererea către următoarea componentă din pipeline.
  • Lucrările pot fi efectuate înainte și după ce următoarea componentă din pipeline este invocată.

Delegații de solicitare sunt folosiți pentru a construi un pipeline de cereri care gestionează fiecare cerere HTTP.

Delegații de cerere sunt configurați folosind metodele de extensie Run, Map și Use. Un delegat de cerere separat poate fi specificat într-o metodă anonimă inline (numită middleware inline) sau poate fi definit într-o clasă reutilizabilă. Aceste clase reutilizabile și metode de anonimizare în linie sunt middleware sau componente middleware. Fiecare componentă middleware din fluxul de cereri este responsabilă pentru apelarea următoarei componente din conductă și, dacă este cazul, pentru scurtcircuitul legăturii.

Migrarea modulelor HTTP către middleware explică diferența dintre ASP.NET Core și pipeline-urile de cereri în versiunile anterioare (ASP.NET) și oferă mai multe exemple de middleware.

Folosește IApplicationBuilder pentru a crea un pipeline middleware

Procesul de cerere ASP.NET Core constă dintr-o serie de delegați de cerere, așa cum este ilustrat în figura următoare (procesul de execuție urmează săgeata neagră):

Fiecare delegat poate efectua acțiuni înainte și după următorul delegat. Delegatul poate decide, de asemenea, să nu transmită cererea către următorul delegat, ceea ce se numește scurtcircuite în pipeline-ul de solicitare. Un scurtcircuit este de obicei de dorit deoarece evită munca inutilă. De exemplu, middleware-ul pentru fișiere statice poate returna o cerere pentru un fișier static și poate scurtcircuita restul pipeline-ului. Delegații care gestionează excepțiile trebuie invocați devreme în pipeline, pentru a putea detecta excepțiile în pipeline-urile ulterioare.

Cel mai simplu lucru este probabil să configurezi un delegat ASP.NET aplicația Core pentru a gestiona toate cererile. Acest scenariu nu include pipeline-ul efectiv de solicitări. În schimb, pentru fiecare cerere HTTP este apelată o metodă anonimă.


Prima aplicație. Run delegate încheie pipeline-ul.

Există un cod de genul acesta:




Accesat prin browser, se constată că este într-adevăr în prima aplicație. Run termină conducta.



Poți delega mai multe cereri prin aplicație. Utilizarea este conectată între ele. Următorul parametru reprezintă următorul delegat din pipeline. (Ține cont că poți încheia pipeline-ul dacă nu apelezi următorul parametru.) De obicei poți efectua acțiuni înainte și după următoarea delegare, așa cum se arată în următorul exemplu:

Utilizarea unui browser pentru a accesa rezultate precum:



Se poate observa că ordinea de execuție a delegatului solicitării urmează diagrama de flux de mai sus.

Notă:

După ce răspunsul este trimis clientului, nu mai suna. Invoke。 După ce răspunsul începe, modificările aduse HttpResponse vor arunca o excepție. De exemplu, setarea anteturilor de răspuns, a codurilor de stare etc. va genera o excepție. Scrie corpul răspunsului după ce suni următorul.

poate duce la încălcarea acordului. De exemplu, scrierea mai mare decât lungimea conținutului descrisă în lungimea conținutului.

Formatarea conținutului responsive poate fi defectă. De exemplu, scrie un footer HTML într-un fișier CSS.

HttpResponse.HasStarted este un indiciu util pentru a indica dacă a fost trimis un antet de răspuns și/sau corpul a fost scris.


Middleware încorporat

ASP.NET Core vine cu următoarele componente middleware:


Middlewaredescriere
AutentificareEste disponibil suport pentru autentificare
CORSConfigurarea partajării resurselor între domenii
Caching de răspunsuriSuportul pentru răspunsuri cache este disponibil
Compresia răspunsuluiOferă suport pentru compresia răspunsului
RutareDefinirea și constrângerea rutării cererilor
SesiuneOferă management al sesiunilor utilizatorului
Fișiere staticeOferă suport pentru navigarea statică a fișierelor și a directoarelor
Middleware-ul pentru rescrierea URL-urilorFolosit pentru a rescrie URL-uri și a solicita suport pentru redirecționări





Precedent:Noul produs al lui Baidu! One Moment Album, în prezent 1 milion de utilizatori pot revendica stocare nelimitată:
Următor:Limba engleză de nivel 4 și 6 Ascultare și examenul postuniversitar de admitere Limba engleză Reexaminarea vocabularului în limba engleză Partajarea datelor orale
Postat pe 22.09.2021 20:47:00 |
Învață să înveți...
Postat pe 10.10.2021 18:55:42 |
Învață să înveți, iar acest articol a deschis un abonament
Postat pe 10.10.2021 18:59:21 |
https://www.cnblogs.com/stulzq/p/7760648.html
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com