Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 61848|Svare: 3

[.NET Core] ASP.NET Detaljert forklaring av Core Middleware

[Kopier lenke]
Publisert på 18.09.2019 11:35:59 | | | |
Hva er Middleware?

Mellomware er programvare som settes sammen i applikasjonspipelines for å håndtere forespørsler og svar. Hver komponent:

  • Velg om du vil sende forespørselen til neste komponent i pipelinen.
  • Arbeid kan utføres før og etter at neste komponent i pipelinen er startet.

Forespørselsdelegater brukes til å bygge en forespørselspipeline som håndterer hver HTTP-forespørsel.

Forespørselsdelegater konfigureres ved hjelp av utvidelsesmetodene Run, Map og Use. En separat forespørselsdelegat kan spesifiseres i en inline anonym metode (kalt inline middleware), eller den kan defineres i en gjenbrukbar klasse. Disse gjenbrukbare klassene og metodene for inline anonymisering er mellomvare eller mellomvarekomponenter. Hver mellomvarekomponent i forespørselsflyten er ansvarlig for å kalle neste komponent i pipelinen og, om hensiktsmessig, koblingskortslutningen.

Migrering av HTTP-moduler til mellomvare forklarer forskjellen mellom ASP.NET Core og forespørselspipelines i tidligere versjoner (ASP.NET) og gir flere eksempler på mellomvare.

Bruk IApplicationBuilder for å lage en mellomvare-pipeline

ASP.NET Core-forespørselsprosessen består av en serie forespørselsdelegater, som vist i følgende figur (utførelsesprosessen følger den svarte pilen):

Hver delegat kan utføre handlinger før og etter neste delegat. Delegaten kan også velge å ikke sende forespørselen videre til neste delegat, noe som kalles en kortslutning i forespørselspipelinen. En kortslutning er vanligvis ønskelig fordi den unngår unødvendig arbeid. For eksempel kan statisk filmellomvare returnere en forespørsel om en statisk fil og kortslutte resten av pipelinen. Unntakshåndteringsdelegater må kalles tidlig i pipelinen, slik at de kan fange opp unntak i senere pipelines.

Det enkleste er sannsynligvis å sette opp en delegat ASP.NET Core-applikasjonen for å håndtere alle forespørsler. Dette scenariet inkluderer ikke selve forespørselspipelinen. I stedet kalles en anonym metode for hver HTTP-forespørsel.


Den første appen. Kjør delegat avslutter pipelinen.

Det finnes kode som dette:




Når man får tilgang via nettleseren, viser det seg at det faktisk er i den første appen. Run terminerer rørledningen.



Du kan delegere flere forespørsler via appen. Bruk henger sammen. Neste parameter representerer neste delegat i pipelinen. (Husk at du kan avslutte pipelinen ved å ikke kalle neste parameter.) Du kan vanligvis utføre handlinger før og etter neste delegasjon, som vist i følgende eksempel:

Bruk av en nettleser for å få tilgang til resultater som:



Det kan sees at kjørerekkefølgen til forespørselsdelegaten følger flytskjemaet ovenfor.

Notat:

Etter at svaret er sendt til klienten, ikke ring neste. Invoke。 Etter at svaret starter, vil endringer i HttpResponse gi et unntak. For eksempel vil det å sette svarheaders, statuskoder osv. gi et unntak. Skriv svarteksten etter at du ringte neste gang.

kan føre til brudd på avtalen. For eksempel å skrive mer enn innholdslengden som er beskrevet i innholdslengde.

Responsiv innholdsformatering kan være ødelagt. For eksempel, skriv en HTML-bunntekst inn i en CSS-fil.

HttpResponse.HasStarted er et nyttig hint for å indikere om en svarheader er sendt og/eller om innholdet er skrevet.


Innebygd mellomvare

ASP.NET Core leveres med følgende mellomvarekomponenter:


Mellomvarebeskrivelse
AutentisasjonAutentiseringsstøtte er tilgjengelig
CORSKonfigurer ressursdeling på tvers av domener
Respons-cacheStøtte for cache-respons er tilgjengelig
ResponskomprimeringGi støtte for responskomprimering
RutingDefiner og begrens forespørselsruting
SesjonTilbyr administrasjon av brukersesjoner
Statiske filerGir støtte for statisk fil- og kataloggjennomlesning
URL-omskrivingsmellomvareBrukes til å omskrive URL-er og be om støtte for omdirigeringer





Foregående:Baidus nye produkt! One Moment Album kan for øyeblikket 1 million brukere hevde ubegrenset lagringsplass:
Neste:Engelsk nivå 4 og 6 lytte- og opptaksprøve for videreutdanning Engelsk ordforråd på nytt Muntlig datadeling
Publisert på 22.09.2021 20:47:00 |
Lær å lære...
Publisert på 10.10.2021 18:55:42 |
Lær å lære, i stedet åpnet denne artikkelen et medlemskap
Publisert på 10.10.2021 18:59:21 |
https://www.cnblogs.com/stulzq/p/7760648.html
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com