Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 61848|Svar: 3

[.NET Core] ASP.NET Detaljeret forklaring af Core Middleware

[Kopier link]
Opslået på 18/09/2019 11.35.59 | | | |
Hvad er Middleware?

Middleware er software, der samles i applikationspipelines for at håndtere forespørgsler og svar. Hver komponent:

  • Vælg, om anmodningen vil sendes videre til næste komponent i pipelinen.
  • Arbejdet kan udføres før og efter den næste komponent i pipelinen er påkaldt.

Anmodningsdelegerede bruges til at opbygge en anmodningspipeline, der håndterer hver HTTP-forespørgsel.

Anmodningsdelegerede konfigureres ved hjælp af Run, Map og Use-udvidelsesmetoderne. En separat anmodningsdelegeret kan specificeres i en anonym metode (kaldet inline middleware), eller den kan defineres i en genanvendelig klasse. Disse genanvendelige klasser og inline anonymiseringsmetoder er middleware eller middleware-komponenter. Hver middleware-komponent i anmodningsflowet er ansvarlig for at kalde den næste komponent i pipelinen og, hvis relevant, linkkortslutningen.

Migrering af HTTP-moduler til middleware forklarer forskellen mellem ASP.NET Core og anmodningspipelines i tidligere versioner (ASP.NET) og giver flere middleware-eksempler.

Brug IApplicationBuilder til at oprette en middleware-pipeline

Anmodningsprocessen ASP.NET Core består af en række anmodningsdelegerede, som vist i følgende figur (eksekveringsprocessen følger den sorte pil):

Hver delegeret kan udføre handlinger før og efter den næste delegerede. Delegaten kan også beslutte ikke at videregive anmodningen til den næste delegat, hvilket kaldes en kortslutning i anmodningspipelinen. En kortslutning er som regel ønskværdig, fordi den undgår unødvendigt arbejde. For eksempel kan statisk fil-middleware returnere en anmodning om en statisk fil og kortslutte resten af pipelinen. Undtagelseshåndteringsdelegater skal kaldes tidligt i pipelinen, så de kan fange undtagelser i senere pipelines.

Det simpleste er nok at oprette en delegeret ASP.NET Core-applikationen til at håndtere alle forespørgsler. Dette scenarie inkluderer ikke den faktiske anmodningspipeline. I stedet kaldes en anonym metode for hver HTTP-anmodning.


Den første app. Kør delegeret afslutter pipelinen.

Der findes kode som denne:




Når man tilgår via browseren, viser det sig, at det faktisk er i den første app. Run afslutter pipelinen.



Du kan delegere flere forespørgsler via appen. Brugen er forbundet. Den næste parameter repræsenterer den næste delegerede i pipelinen. (Husk, at du kan afslutte pipelinen ved ikke at kalde den næste parameter.) Du kan som regel udføre handlinger før og efter næste delegation, som vist i følgende eksempel:

Brug af en browser til at få adgang til resultater såsom:



Det kan ses, at eksekveringsrækkefølgen for anmodningsdelegeringen følger flowdiagrammet ovenfor.

Seddel:

Når svaret er sendt til klienten, skal du ikke ringe næste gang. Invoke。 Efter svaret starter, vil ændringer i HttpResponse give en undtagelse. For eksempel vil indstilling af svarheaders, statuskoder osv. give en undtagelse. Skriv svarteksten efter næste opkald.

kan føre til et brud på aftalen. For eksempel at skrive mere end den indholdslængde, der er beskrevet i indholdslængde.

Responsiv indholdsformatering kan være ødelagt. For eksempel kan du skrive en HTML-footer ind i en CSS-fil.

HttpResponse.HasStarted er et nyttigt tip til at angive, om et svar-header er sendt og/eller om brødteksten er skrevet.


Indbygget middleware

ASP.NET Core leveres med følgende middleware-komponenter:


Mellemsoftwarebeskrivelse
AutentificeringAutentificeringsunderstøttelse er tilgængelig
CORSKonfigurer ressourcedeling på tværs af domæner
Respons-cacheringCache-respons understøttelse er tilgængelig
ResponskompressionYde support til responskomprimering
RoutingDefinér og begræns anmodningsrouting
SessionTilbyder brugersessionsstyring
Statiske filerUnderstøtter statisk fil- og mappebrowsing
URL-omskrivnings-middlewareBruges til at omskrive URL'er og anmode om understøttelse af omdirigeringer





Tidligere:Baidus nye produkt! One Moment Album kan i øjeblikket 1 million brugere gøre krav på ubegrænset lagerplads:
Næste:Engelsk niveau 4 og 6 lytte- og postgraduate optagelsesprøve Engelsk ordforråd Geneksamen Mundtlig datadeling
Opslået på 22/09/2021 20.47.00 |
Lær at lære...
Opslået på 10/10/2021 18.55.42 |
Lær at lære, på stedet åbnede denne artikel et medlemskab
Opslået på 10/10/2021 18.59.21 |
https://www.cnblogs.com/stulzq/p/7760648.html
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com