Tipps und Tricks rund um .NET und Visual Studio

Routenbasierte Konfiguration
Kommentare

Dr. Holger Schwichtenberg (MVP) und FH-Prof. Manfred Steyer teilen in der Kolumne „.NETversum“ ihr Expertenwissen rund um .NET-Tools und WPF mit.

Wenig bekannt ist die Tatsache, dass man ASP.NET Web API auch auf der Ebene der Routen konfigurieren kann, um z. B. für bestimmte Routen von der Standardkonfiguration abzuweichen. Dazu hat er die Möglichkeit, einer Route eine Kette von MessageHandler-Objekten zuzuordnen. Listing 1 weist zum Beispiel der Route BuchungenByHotelRoute eine Kette bestehend aus einem LimitResultMessageHandler und einem HttpControllerDispatcher zu. Dabei ist zu beachten, dass Ketten dieser Art immer mit einem HttpControllerDispatcher abzuschließen sind, da dieser die entsprechende Action-Methode anstößt.

Listing 1: Konfiguration auf der Ebene einer Route

public static void RegisterRoutes(RouteCollection routes) {   routes.IgnoreRoute("{resource}.axd/{*pathInfo}");     var handler = new LimitResultMessageHandler()   {     InnerHandler = new HttpControllerDispatcher(GlobalConfiguration.Configuration)   };    routes.MapHttpRoute(     name: "BuchungenByHotelRoute",     routeTemplate: "api/Hotels/{hotelId}/Buchungen",     defaults: new { controller = "Buchungen" },     constraints: null, // Notwendig, damit richtige Überladung gewählt wird!     handler: handler   );    [...] }
Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -