Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 61848|Antwort: 3

[.NET Core] ASP.NET Detaillierte Erklärung der Core Middleware

[Link kopieren]
Veröffentlicht am 18.09.2019 11:35:59 | | | |
Was ist Middleware?

Middleware ist Software, die in Anwendungspipelines zusammengesetzt wird, um Anfragen und Antworten zu verarbeiten. Jede Komponente:

  • Entscheiden Sie, ob Sie die Anfrage an die nächste Komponente in der Pipeline weiterleiten.
  • Arbeiten können vor und nach dem Aufruf der nächsten Komponente in der Pipeline ausgeführt werden.

Anfrage-Delegierte werden verwendet, um eine Anfragepipeline zu erstellen, die jede HTTP-Anfrage verarbeitet.

Anfrage-Delegierte werden mit den Erweiterungsmethoden Run, Map und Use konfiguriert. Ein separater Request-Delegate kann in einer anonymen Inline-Methode (genannt Inline-Middleware) angegeben oder in einer wiederverwendbaren Klasse definiert werden. Diese wiederverwendbaren Klassen und Inline-Anonymisierungsmethoden sind Middleware oder Middleware-Komponenten. Jede Middleware-Komponente im Anfragefluss ist dafür verantwortlich, die nächste Komponente in der Pipeline aufzurufen und, falls angemessen, den Link-Kurzschluss aufzurufen.

Die Migration von HTTP-Modulen zu Middleware erklärt den Unterschied zwischen ASP.NET Core und Request Pipelines in früheren Versionen (ASP.NET) und liefert weitere Middleware-Beispiele.

Verwenden Sie IApplicationBuilder, um eine Middleware-Pipeline zu erstellen

Der ASP.NET Core-Anforderungsprozess besteht aus einer Reihe von Anfragedelegierten, wie in der folgenden Abbildung gezeigt (der Ausführungsprozess folgt dem schwarzen Pfeil):

Jeder Delegierte kann vor und nach dem nächsten Delegierten Aktionen ausführen. Der Delegierte kann außerdem entscheiden, die Anfrage nicht an den nächsten Delegierten weiterzugeben, was als Kurzschluss in der Anfragepipeline bezeichnet wird. Ein Kurzschluss ist in der Regel wünschenswert, da er unnötige Arbeit verhindert. Zum Beispiel kann statische Datei-Middleware eine Anfrage für eine statische Datei zurückgeben und den Rest der Pipeline kurzschließen. Exception Handling Delegates müssen früh in der Pipeline aufgerufen werden, damit sie Ausnahmen in späteren Pipelines erkennen können.

Das Einfachste ist wahrscheinlich, einen Delegierten ASP.NET der Core-Anwendung einzurichten, der alle Anfragen bearbeitet. Dieses Szenario beinhaltet nicht die eigentliche Anfragepipeline. Stattdessen wird für jede HTTP-Anfrage eine anonyme Methode aufgerufen.


Die erste App. Run Delegate beendet die Pipeline.

Es gibt einen Code wie diesen:




Über den Browser zugegriffen, stellt sich heraus, dass es tatsächlich in der ersten App ist. Run beendet die Pipeline.



Du kannst mehrere Anfragen über die App delegieren. Die Nutzung ist miteinander verbunden. Der nächste Parameter repräsentiert den nächsten Delegierten in der Pipeline. (Beachten Sie, dass Sie die Pipeline beenden können, indem Sie den nächsten Parameter nicht aufrufen.) Sie können in der Regel Aktionen vor und nach der nächsten Delegation ausführen, wie im folgenden Beispiel gezeigt:

Verwendung eines Browsers, um auf Ergebnisse zuzugreifen wie:



Es ist zu sehen, dass die Ausführungsreihenfolge des Anfrage-Delegierten dem obigen Flussdiagramm folgt.

Anmerkung:

Nachdem die Antwort an den Kunden gesendet wurde, rufen Sie als Nächstes nicht an. Invoke。 Nachdem die Antwort begonnen hat, lösen Änderungen an der HttpResponse eine Ausnahme aus. Zum Beispiel führt das Setzen von Antwortheadern, Statuscodes usw. zu einer Ausnahme. Schreibe den Antworttext nach dem nächsten Anruf.

kann zu einem Vertragsbruch führen. Zum Beispiel, wenn man mehr schreibt als die Inhaltslänge, die in der Inhaltslänge beschrieben ist.

Die Formatierung responsiver Inhalte kann fehlerhaft sein. Schreibe zum Beispiel einen HTML-Fuß in eine CSS-Datei.

HttpResponse.HasStarted ist ein nützlicher Hinweis, um anzuzeigen, ob ein Response-Header gesendet wurde und/oder der Text geschrieben wurde.


Eingebaute Middleware

ASP.NET Core wird mit folgenden Middleware-Komponenten geliefert:


MiddlewareBeschreibung
AuthentifizierungAuthentifizierungsunterstützung ist verfügbar
CORSKonfiguration des domänenübergreifenden Ressourcenaustauschs
Response-CachingCache-Antwort-Unterstützung ist verfügbar
AntwortkompressionUnterstützung für Antwortkompression bieten
RoutingDefinition und Einschränkung der Request-Routing
SitzungBietet Benutzersitzungsverwaltung
Statische DateienBietet Unterstützung für statische Datei- und Verzeichnisdurchsuchung
URL-Umschreib-MiddlewareWurde verwendet, um URLs umzuschreiben und Unterstützung für Weiterleitungen anzufordern





Vorhergehend:Baidus neues Produkt! One Moment Album kann derzeit 1 Million Nutzer unbegrenzten Speicherplatz beanspruchen:
Nächster:Englisch Level 4 und 6 Hör- und Postgraduiertenaufnahmeprüfung Englischer Wortschatz Wiederholung mündlicher Datenaustausch
Veröffentlicht am 22.09.2021 20:47:00 |
Lerne zu lernen...
Veröffentlicht am 10.10.2021 18:55:42 |
Lernen Sie zu lernen, in diesem Artikel wurde eine Mitgliedschaft eröffnet
Veröffentlicht am 10.10.2021 18:59:21 |
https://www.cnblogs.com/stulzq/p/7760648.html
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com