Udostępnij za pośrednictwem


Podstawowa usługa HTTP

W przykładzie BasicHttpService pokazano, jak zaimplementować usługę opartą na protokole HTTP, opartą na protokole RPC — popularnie nazywaną usługą "POX" (Zwykły stary kod XML) — przy użyciu modelu programowania REST programu Windows Communication Foundation (WCF). Ten przykład składa się z dwóch składników: samoobsługowej usługi HTTP WCF (Service.cs) i aplikacji konsolowej (Program.cs), która tworzy usługę i wykonuje do niej wywołania.

Przykładowe szczegóły

Usługa WCF uwidacznia 2 operacje i EchoWithGetEchoWithPost, które zwracają ciąg przekazany jako dane wejściowe.

Operacja EchoWithGet jest oznaczona adnotacją z elementem WebGetAttribute, co wskazuje, że operacja przetwarza żądania HTTP GET . Ponieważ parametr WebGetAttribute nie określa UriTemplatejawnie elementu , operacja oczekuje przekazania ciągu wejściowego przy użyciu parametru ciągu zapytania o nazwie s. Należy pamiętać, że format identyfikatora URI, którego oczekuje usługa, można dostosować przy użyciu UriTemplate właściwości .

Operacja EchoWithPost jest oznaczona adnotacją z elementem WebInvokeAttribute, co oznacza, że nie jest operacją GET (ma skutki uboczne). Ponieważ obiekt WebInvokeAttribute nie określa Methodjawnie elementu , operacja przetwarza żądania HTTP POST , które mają ciąg w treści żądania (na przykład w formacie XML). Należy pamiętać, że metodę HTTP i format identyfikatora URI dla żądania można dostosować odpowiednio przy użyciu Method właściwości i UriTemplate .

Plik App.config konfiguruje usługę WCF z wartością domyślną WebHttpEndpoint , która ma właściwość ustawioną HelpEnabled na true. W rezultacie infrastruktura WCF tworzy na stronie http://localhost:8000/Customers/help pomocy automatycznej opartej na kodzie HTML, która zawiera informacje o sposobie konstruowania żądań HTTP do usługi i sposobu korzystania z odpowiedzi HTTP usługi.

Program.cs pokazuje, jak można używać fabryki kanałów WCF do wykonywania wywołań do usługi i przetwarzania odpowiedzi. Należy pamiętać, że jest to tylko jeden sposób uzyskiwania dostępu do usługi WCF. Istnieje również możliwość uzyskania dostępu do usługi przy użyciu innych klas programu .NET Framework, takich jak HttpWebRequest i WebClient.

Przykład składa się z samoobsługowej usługi i klienta, który działa zarówno w aplikacji konsolowej. Gdy aplikacja konsolowa jest uruchamiana, klient wysyła żądania do usługi i zapisuje odpowiednie informacje z odpowiedzi do okna konsoli.

Aby użyć tego przykładu

  1. Otwórz rozwiązanie dla podstawowego przykładu usługi HTTP. Podczas uruchamiania programu Visual Studio 2012 musisz uruchomić go jako administrator, aby przykład został pomyślnie wykonany. W tym celu kliknij prawym przyciskiem myszy ikonę programu Visual Studio i wybierz polecenie Uruchom jako Administracja istrator z menu kontekstowego.

  2. Naciśnij klawisze Ctrl+Shift+B, aby skompilować rozwiązanie, a następnie naciśnij klawisze Ctrl+F5, aby uruchomić aplikację konsolową bez debugowania. Zostanie wyświetlone okno konsoli i zostanie wyświetlony identyfikator URI uruchomionej usługi oraz identyfikator URI strony pomocy HTML dla uruchomionej usługi. W dowolnym momencie możesz wyświetlić stronę pomocy HTML, wpisując identyfikator URI strony pomocy w przeglądarce. Podczas uruchamiania przykładu klient zapisuje stan bieżącego działania.

  3. Naciśnij dowolny klawisz, aby zakończyć przykład.