Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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, EchoWithGet i EchoWithPost, które zwracają ciąg przekazany jako argument.
Operacja EchoWithGet jest oznaczona adnotacją z elementem WebGetAttribute, co wskazuje, że operacja przetwarza żądania HTTP GET . Ponieważ WebGetAttribute nie określa jawnie UriTemplate, 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ż WebInvokeAttribute nie określa jawnie Method, operacja przetwarza żądania HTTP POST zawierające ciąg znaków w treści żądania (na przykład w formacie XML). Należy pamiętać, że metodę HTTP oraz format identyfikatora URI dla żądania można dostosować, korzystając odpowiednio z właściwości Method 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 automatyczną stronę pomocy opartą na HTML pod http://localhost:8000/Customers/help, która zawiera informacje o sposobie konstruowania żądań HTTP do usługi oraz o sposobie 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 usługi hostowanej lokalnie i klienta, które obie działają 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 skorzystać z tego przykładu
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 administrator z menu kontekstowego.
Naciśnij Ctrl+Shift+B , aby skompilować rozwiązanie, a następnie naciśnij Ctrl+F5 , aby uruchomić aplikację konsolową bez debugowania. Okno konsoli zostanie wyświetlone, podając identyfikatory URI uruchomionej usługi oraz strony pomocy HTML dla niej. 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.
Naciśnij dowolny klawisz, aby zakończyć przykład.