Przykład integracji elementu SystemWebRouting
Przykład WebRoutingIntegration demonstruje integrację warstwy hostingu z klasami w System.Web.Routing przestrzeni nazw. Klasy w System.Web.Routing przestrzeni nazw umożliwiają aplikacji używanie adresów URL, które nie odpowiadają bezpośrednio zasobowi fizycznemu. Użycie routingu internetowego umożliwia deweloperowi tworzenie adresów wirtualnych dla protokołu HTTP, które są następnie mapowane z powrotem na rzeczywiste usługi WCF. Jest to przydatne, gdy usługa WCF musi być hostowana bez konieczności fizycznego pliku lub zasobu lub gdy usługi muszą być dostępne z adresami URL, które nie zawierają plików, takich jak .html lub .aspx. W tym przykładzie pokazano, jak używać RouteTable klasy do tworzenia wirtualnych identyfikatorów URI mapujących na uruchomione usługi zdefiniowane w pliku global.asax.
Uwaga
Klasy w System.Web.Routing przestrzeni nazw działają tylko dla usług hostowanych za pośrednictwem protokołu HTTP.
W tym przykładzie użyto programu WCF do utworzenia dwóch kanałów informacyjnych RSS: movies
źródła danych i channels
źródła danych. Adresy URL do aktywowania usług nie zawierają rozszerzenia i są rejestrowane w Application_Start
metodzie klasy pochodzącej Global
HttpApplication z klasy.
Uwaga
Ten przykład działa tylko w usługach Internet Information Services (IIS) 7.0 lub nowszych, ponieważ usługi IIS 6.0 używają innej metody do obsługi adresów URL bez rozszerzeń.
Aby użyć tego przykładu
Za pomocą programu Visual Studio otwórz plik WebRoutingIntegration.sln.
Aby uruchomić rozwiązanie i uruchomić serwer tworzenia aplikacji internetowych, naciśnij klawisz F5.
Zostanie wyświetlona lista katalogów dla przykładu. Należy pamiętać, że nie ma żadnych plików z rozszerzeniem pliku svc.
Na pasku adresu dodaj
movies
do adresu URL, aby odczytywałhttp://localhost:[port]/movies
i naciskał klawisz ENTER.Kanał informacyjny filmów jest wyświetlany w przeglądarce.
Na pasku adresu dodaj
channels
do adresu URL, aby odczytywaćhttp://localhost:[port]/channels
i naciskać klawisz ENTER.Kanał informacyjny jest wyświetlany w przeglądarce.
Zamknij przeglądarkę sieci Web, naciskając klawisze ALT+F4.
Jeśli serwer deweloperów nie zakończył pracy, kliknij prawym przyciskiem myszy ikonę obszaru powiadomień i wybierz polecenie Zatrzymaj.
Aby użyć tego przykładu w przypadku hostowania w usługach IIS
Za pomocą programu Visual Studio otwórz plik WebRoutingIntegration.sln.
Skompiluj projekt, naciskając klawisze Ctrl+Shift+B.
Utwórz aplikację sieci Web w Menedżerze usług Internet Information Services (IIS).
W Menedżerze usług IIS kliknij prawym przyciskiem myszy domyślną witrynę sieci Web i wybierz pozycję Dodaj aplikację.
W przypadku aliasu wpisz wartość .
WebRoutingIntegration
W polu Ścieżka fizyczna wybierz folder Usługa w projekcie.
Naciśnij przycisk OK.
Uruchom aplikację, klikając prawym przyciskiem myszy aplikację internetową i wybierając pozycję Zarządzaj aplikacją , a następnie pozycję Przeglądaj.
Na pasku adresu dodaj
movies
do adresu URL, aby odczytywaćhttp://localhost:[port]/movies
i naciskać klawisz ENTER.Kanał informacyjny filmów jest wyświetlany w przeglądarce.
Na pasku adresu dodaj
channels
do adresu URL, aby odczytywaćhttp://localhost:[port]/channels
i naciskać klawisz ENTER.Kanał informacyjny jest wyświetlany w przeglądarce.
Zamknij przeglądarkę sieci Web, naciskając klawisze ALT+F4.
W tym przykładzie pokazano, że warstwa hostingu może komponować się z klasami w System.Web.Routing przestrzeni nazw na potrzeby routingu żądań usług hostowanych za pośrednictwem protokołu HTTP.
Uwaga
Należy zaktualizować domyślną wersję puli aplikacji do programu .NET Framework 4, jeśli jest ustawiona na wersję 2.