WCF REST-Services können ab .Net 4 über ASP.NET-Routen veröffentlicht werden, sofern vom ASP.NET- Kompatibilitätsmodus gebraucht gemacht wird. Zur Veranschaulichung zeigt das folgende Listing eine Implementierung der Methode RegisterRoutes, welche unter anderem eine ServiceRoute, welche auf den REST-Service FlugService verweist, registriert. An den Konstruktor dieser Methode wird die Route, eine Instanz von WebServiceHostFactory sowie der Typ der Service-Implementierung übergeben. Dies bewirkt, dass der REST-Service über die Url FlugService verfügbar gemacht wird.
public static void RegisterRoutes(RouteCollection routes){ routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); WebServiceHostFactory factory = new WebServiceHostFactory(); routes.Add(new ServiceRoute("FlugService", factory, typeof(FlugService.FlugService))); routes.MapRoute( "Default", // Route name "{controller}/{action}/{id}", // URL with parameters new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults );}
Dieser Eintrag ist ein Auszug aus meinem aktuellen Buch .Net 4 Update , das ich zusammen mit Holger Schwichtenberg verfasst habe.