Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 61848|Svar: 3

[.NET Core] ASP.NET Detaljerad förklaring av Core Middleware

[Kopiera länk]
Publicerad på 2019-09-18 11:35:59 | | | |
Vad är Middleware?

Middleware är mjukvara som sätts ihop i applikationspipelines för att hantera förfrågningar och svar. Varje komponent:

  • Välj om du vill skicka förfrågan till nästa komponent i pipelinen.
  • Arbete kan utföras före och efter att nästa komponent i pipelinen anropas.

Request-delegater används för att bygga en request pipeline som hanterar varje HTTP-förfrågan.

Request-delegater konfigureras med hjälp av metoderna Run, Map och Use. En separat request-delegat kan specificeras i en inline-anonym metod (kallad inline-middleware), eller så kan den definieras i en återanvändbar klass. Dessa återanvändbara klasser och inline-anonymiseringsmetoder är mellanvara eller mellanvarukomponenter. Varje middleware-komponent i förfrågningsflödet ansvarar för att anropa nästa komponent i pipelinen och, om lämpligt, länkkortslutningen.

Att migrera HTTP-moduler till middleware förklarar skillnaden mellan ASP.NET Core och request pipelines i tidigare versioner (ASP.NET) och ger fler exempel på middleware.

Använd IApplicationBuilder för att skapa en middleware-pipeline

Processen för ASP.NET Core-begäran består av en serie förfrågningsdelegater, som visas i följande figur (exekveringsprocessen följer den svarta pilen):

Varje delegat kan utföra åtgärder före och efter nästa delegat. Delegaten kan också besluta att inte vidarebefordra begäran till nästa delegat, vilket kallas en kortslutning i begäranarpipelinen. En kortslutning är vanligtvis önskvärd eftersom den undviker onödigt arbete. Till exempel kan statisk fil-middleware returnera en begäran om en statisk fil och kortsluta resten av pipelinen. Undantagshanteringsdelegater måste anropas tidigt i pipelinen så att de kan fånga undantag i senare pipelines.

Det enklaste är nog att sätta upp en delegat ASP.NET Core-applikationen för att hantera alla förfrågningar. Detta scenario inkluderar inte själva förfrågningspipelinen. Istället anropas en anonym metod för varje HTTP-förfrågan.


Den första appen. Kör delegat avslutar pipelinen.

Det finns kod som denna:




När man nås via webbläsaren visar man att det faktiskt finns i den första appen. Run avslutar pipelinen.



Du kan delegera flera förfrågningar via appen. Användningen är sammankopplad. Nästa parameter representerar nästa delegat i pipelinen. (Tänk på att du kan avsluta pipelinen genom att inte anropa nästa parameter.) Du kan vanligtvis utföra åtgärder före och efter nästa delegering, som visas i följande exempel:

Att använda en webbläsare för att komma åt resultat såsom:



Det kan ses att exekveringsordningen för begäran-delegaten följer flödesschemat ovan.

Not:

Efter att svaret skickats till klienten, ring inte nästa. Invoke。 Efter att svaret startat kommer ändringar i HttpResponse att ge ett undantag. Till exempel kommer inställning av svarshuvuden, statuskoder osv. att ge ett undantag. Skriv svarstexten efter att du ringt nästa gång.

kan leda till ett brott mot avtalet. Till exempel att skriva mer än den innehållslängd som beskrivs i innehållslängd.

Responsivt innehållsformatering kan vara trasig. Till exempel, skriv en HTML-fot i en CSS-fil.

httpResponse.HasStarted är en användbar ledtråd för att ange om en svarsrubrik har skickats och/eller om brödtexten har skrivits.


Inbyggd middleware

ASP.NET Core levereras med följande middleware-komponenter:


Mellanprogramvarabeskrivning
AutentiseringAutentiseringsstöd finns tillgängligt
CORSKonfigurera resursdelning över domäner
ResponscachelagringStöd för cache-svar finns tillgängligt
ResponskomprimeringGer stöd för responskomprimering
RuttningDefiniera och begränsa förfrågningsroutning
SessionTillhandahåller hantering av användarsessioner
Statiska filerErbjuder stöd för statisk fil- och katalogbläddring
URL-omskrivningsmiddlewareAnvänds för att skriva om URL:er och begära stöd för omdirigeringar





Föregående:Baidus nya produkt! One Moment Album kan för närvarande 1 miljon användare hävda obegränsad lagring:
Nästa:Engelska nivå 4 och 6 Lyssnande och postgraduat inträdesprov Engelska ordförråd Omtentamen Muntlig datadelning
Publicerad på 2021-09-22 20:47:00 |
Lär dig att lära dig...
Publicerad på 2021-10-10 18:55:42 |
Lär dig att lära dig, på plats öppnade denna artikel ett medlemskap
Publicerad på 2021-10-10 18:59:21 |
https://www.cnblogs.com/stulzq/p/7760648.html
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com