środa, 12 czerwca 2013

WCF REST Routing

Jeżeli ktoś miał okazję pisać w ASP.NET MVC, z pewnością docenia możliwości jakie daje routing. Dzięki jego zastosowaniu upraszcza się ścieżka prowadząca do żądanych zasobów.
WCF od wersji .NET 4.0 także pozwala na zastosowanie routingu i zastąpienie standardowego Service.svc/zasób ścieżką bardziej przyjazną.

Aby możliwe było użycie routingu w WCF, podobnie jak w przypadku MVC należy dodać plik Global.asax i w nim skonfigurować na starcie nasz serwis:

Code:
        protected void Application_Start(object sender, EventArgs e)
        {
            RegisterRoutes();
        }

        private static void RegisterRoutes()
        {
            var webServiceHostFactory = new WebServiceHostFactory();
            RouteTable.Routes.Add(new ServiceRoute("MyService", webServiceHostFactory, typeof(Service1)));
        }


To wszystko co jest wymagane aby routing działał. Teraz w przeglądarce możemy przetestować czy rozwiązanie działa poprawnie.

Standardowe wywołanie:


Wywołanie z zastosowaniem routingu:



Jak widać obie wersje działają. Mechanizm bardzo użyteczny i bardzo dobrze się stało, że został zaimplementowany w WCF REST.

Kod źródłowy przykłądu do pobrania:  http://sdrv.ms/11plYts

Brak komentarzy:

Prześlij komentarz