Heim >Backend-Entwicklung >C#.Net-Tutorial >Was ist Routing in C# ASP.NET Core?
Routen werden verwendet, um Anfragen Routenhandlern zuzuordnen.
Routen werden beim Start der Anwendung konfiguriert und können von dort aus aufgerufen werden Die URL, die für die Anforderungsverarbeitung verwendet wird.
Routing verwendet Routing (Implementierung von IRouter)
Routen sind über die RouterMiddleware-Klasse mit Middleware-Pipelines verbunden. ASP.NET MVC fügt Routen zur Middleware-Pipeline als Teil seiner Konfiguration
eingehende Anforderungen in die RouterMiddleware hinzu, die die RouteAsync-Methode aufruft
IRouter-Instanz wird festgelegt von RouteContext-Handler für ein RequestDelegate ungleich Null.
Wenn für den Handler eine Route festgelegt ist, wird er zur Bearbeitung der Anfrage aufgerufen und geht nicht weiter Die Weiterleitung wird bearbeitet.
Wenn alle Routen ausgeführt werden und kein Handler für die Anfrage gefunden wird, ruft die Middleware auf next und die nächste Middleware in der Anforderungspipeline werden aufgerufen.
Die URL-Generierung folgt einem ähnlichen iterativen Prozess, beginnt jedoch entweder beim Benutzer oder beim Framework Code, der die GetVirtualPath-Methode der Routensammlung aufruft.
Jede Route ruft dann nacheinander ihre GetVirtualPath-Methode auf, bis Gibt VirtualPathData ungleich Null zurück
Routing stellt die Route-Klasse als Standardimplementierung von IRouter bereit. Routen verwenden die Routenvorlagensyntax, um zu definieren, womit sie verwendet werden Der URL-Pfad beim Aufruf von RouteAsync.
Wenn GetVirtualPath den Wert hat, verwendet Route dieselbe Routenvorlage, um die URL zu generieren Anruf.
routes.MapRoute(name: "default", template: "{controller=Home}/{action=Index}/{id?}");
Das Framework bietet eine Reihe von Erweiterungsmethoden zum Erstellen von Routen, wie zum Beispiel -
MapRoute MapGet MapPost MapPut MapRoute MapVerb
Das obige ist der detaillierte Inhalt vonWas ist Routing in C# ASP.NET Core?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!