Welchen Nutzen hat die Erweiterung „Map' beim Hinzufügen von Middleware zu einer C# ASP.NET Core-Pipeline?

王林
Freigeben: 2023-09-13 21:13:06
nach vorne
1002 Leute haben es durchsucht

向 C# ASP.NET Core 管道添加中间件时,“Map”扩展有什么用?

Middleware ist eine Softwarekomponente, die in einer Anwendungspipeline zusammengefasst ist Behandeln Sie Anfragen und Antworten.

Jede Komponente entscheidet, ob die Anfrage an die nächste Komponente weitergeleitet wird Pipeline und kann bestimmte Vorgänge vor und nach der nächsten Komponente ausführen In der Pipeline aufgerufen.

Kartenerweiterungen werden als Konventionen für Pipelinezweige verwendet.

Die Kartenerweiterungsmethode wird verwendet, um Anforderungsdelegaten basierend auf dem angeforderten Delegaten abzugleichen. path.Map akzeptiert lediglich einen Pfad und eine Funktion zur Konfiguration der einzelnen Middleware Pipeline.

Im folgenden Beispiel wird jede Anfrage mit dem Basispfad /maptest verarbeitet Über die in der HandleMapTest-Methode konfigurierte Pipeline.

Beispiel

private static void HandleMapTest(IApplicationBuilder app){
   app.Run(async context =>{
      await context.Response.WriteAsync("Map Test Successful");
   });
}
public void ConfigureMapping(IApplicationBuilder app){
   app.Map("/maptest", HandleMapTest);
}
Nach dem Login kopieren

Neben der pfadbasierten Zuordnung unterstützt die MapWhen-Methode auch die prädikatbasierte Zuordnung.

Middleware-Forking, das den Aufbau separater Pipelines mit großer Flexibilität ermöglicht fashion.

Jedes Prädikat vom Typ Func kann zum Zuordnen von Anforderungen verwendet werden Neuer Pipelinezweig.

private static void HandleBranch(IApplicationBuilder app){
   app.Run(async context =>{
      await context.Response.WriteAsync("Branch used.");
   });
}
public void ConfigureMapWhen(IApplicationBuilder app){
   app.MapWhen(context => {
      return context.Request.Query.ContainsKey("branch");
   }, HandleBranch);
      app.Run(async context =>{
         await context.Response.WriteAsync("Hello from " + _environment);
   });
}
Nach dem Login kopieren

Karte kann auch verschachtelt werden

app.Map("/level1", level1App => {
   level1App.Map("/level2a", level2AApp => {
      // "/level1/level2a"
      //...
   });
   level1App.Map("/level2b", level2BApp => {
      // "/level1/level2b"
      //...
   });
});
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWelchen Nutzen hat die Erweiterung „Map' beim Hinzufügen von Middleware zu einer C# ASP.NET Core-Pipeline?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage