Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 61848|Risposta: 3

[.NET Core] ASP.NET Spiegazione dettagliata del Middleware Core

[Copiato link]
Pubblicato su 18/09/2019 11:35:59 | | | |
Cos'è il Middleware?

Il middleware è software assemblato nelle pipeline applicative per gestire richieste e risposte. Ogni componente:

  • Scegli se passare la richiesta al componente successivo della pipeline.
  • Il lavoro può essere eseguito prima e dopo che il componente successivo della pipeline viene invocato.

I delegati di richiesta vengono utilizzati per costruire una pipeline di richieste che gestisce ogni richiesta HTTP.

I delegati delle richieste sono configurati utilizzando i metodi di estensione Run, Map e Use. Un delegato di richiesta separato può essere specificato in un metodo anonimo inline (chiamato middleware inline), oppure può essere definito in una classe riutilizzabile. Queste classi riutilizzabili e metodi di anonimizzazione inline sono middleware o componenti middleware. Ogni componente middleware nel flusso di richieste è responsabile di chiamare il componente successivo nella pipeline e, se opportuno, del corto circuito del collegamento.

La migrazione dei moduli HTTP al middleware spiega la differenza tra ASP.NET Core e le pipeline di richieste nelle versioni precedenti (ASP.NET) e fornisce altri esempi di middleware.

Usa IApplicationBuilder per creare una pipeline middleware

Il processo di richiesta ASP.NET Core consiste in una serie di delegati di richiesta, come mostrato nella figura seguente (il processo di esecuzione segue la freccia nera):

Ogni delegato può eseguire azioni prima e dopo il successivo. Il delegato può anche decidere di non passare la richiesta al delegato successivo, che viene chiamato cortocircuito nella pipeline di richiesta. Un cortocircuito è solitamente auspicabile perché evita lavori superflui. Ad esempio, un middleware di file statico può restituire una richiesta per un file statico e corcorcircuitare il resto della pipeline. I delegati di gestione delle eccezioni devono essere invocati nelle prime fasi della pipeline, così da poter individuare eccezioni nelle pipeline successive.

La cosa più semplice probabilmente è configurare un delegato ASP.NET applicazione Core per gestire tutte le richieste. Questo scenario non include la pipeline effettiva di richieste. Invece, viene chiamato un metodo anonimo per ogni richiesta HTTP.


La prima app. Run delegate termina la pipeline.

Esiste un codice come questo:




Accessibile tramite il browser, si scopre che è effettivamente presente nella prima app. Run termina la pipeline.



Puoi delegare più richieste con l'app. L'uso è collegato tra loro. Il parametro successivo rappresenta il delegato successivo nella pipeline. (Tieni presente che puoi terminare la pipeline non chiamando il parametro successivo.) Di solito puoi eseguire azioni prima e dopo la prossima delega, come mostrato nel seguente esempio:

Utilizzare un browser per accedere a risultati come:



Si può vedere che l'ordine di esecuzione del delegato della richiesta segue il diagramma di flusso sopra.

Nota:

Dopo che la risposta è stata inviata al cliente, non chiamare dopo. Evocare. Dopo l'inizio della risposta, le modifiche all'HttpResponse lancieranno un'eccezione. Ad esempio, impostare intestazioni di risposta, codici di stato, ecc. farà sparire un'eccezione. Scrivi il corpo della risposta dopo aver chiamato dopo.

può comportare una violazione dell'accordo. Ad esempio, scrivere più della lunghezza del contenuto descritta in lunghezza del contenuto.

La formattazione dei contenuti responsive può essere difettosa. Ad esempio, scrivi un footer HTML in un file CSS.

HttpResponse.HasStarted è un suggerimento utile per indicare se è stata inviata un'intestazione di risposta e/o se il corpo è stato scritto.


Middleware integrato

ASP.NET Core è dotato dei seguenti componenti middleware:


Middlewaredescrizione
AutenticazioneÈ disponibile il supporto per l'autenticazione
CORSConfigurare la condivisione delle risorse tra domini
Cache di rispostaIl supporto per la risposta cache è disponibile
Compressione di rispostaFornire supporto per la compressione della risposta
InstradamentoDefinire e limitare l'instradamento delle richieste
SessioneFornisce la gestione delle sessioni utente
File staticiFornisce supporto per la navigazione statica di file e directory
Middleware di riscrittura degli URLUsato per riscrivere URL e richiedere il supporto ai redirect





Precedente:Il nuovo prodotto di Baidu! One Moment Album, attualmente 1 milione di utenti può dichiarare spazio illimitato:
Prossimo:Inglese Livello 4 e 6 Ascolto e Esame di Ammissione Post-Laurea Ri-esame del Vocabolario Inglese Condivisione dei Dati Orali
Pubblicato su 22/09/2021 20:47:00 |
Impara a imparare...
Pubblicato su 10/10/2021 18:55:42 |
Impara a imparare, in questo articolo ha aperto un abbonamento
Pubblicato su 10/10/2021 18:59:21 |
https://www.cnblogs.com/stulzq/p/7760648.html
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com