次の方法で共有


基本的な HTTP サービス

BasicHttpService サンプルでは、WINDOWS Communication Foundation (WCF) REST プログラミング モデルを使用して、HTTP ベースの RPC ベースのサービス (一般に "POX" (Plain Old XML) サービスと呼ばれます) を実装する方法を示します。 このサンプルは、セルフホステッド WCF HTTP サービス (Service.cs) と、サービスを作成して呼び出すコンソール アプリケーション (Program.cs) の 2 つのコンポーネントで構成されています。

サンプルの詳細

WCF サービスは、入力として渡された文字列を返す 2 つの操作 ( EchoWithGetEchoWithPost) を公開します。

EchoWithGet操作にはWebGetAttribute注釈が付けられます。これは、操作が HTTP GET要求を処理することを示します。 WebGetAttributeUriTemplateを明示的に指定しないため、この操作では、名前がsクエリ文字列パラメーターを使用して入力文字列が渡されることを想定しています。 サービスで想定される URI の形式は、 UriTemplate プロパティを使用してカスタマイズできることに注意してください。

EchoWithPost操作にはWebInvokeAttributeで注釈が付けられます。これは、GET操作ではないことを示します (副作用があります)。 WebInvokeAttributeMethodを明示的に指定しないため、操作は要求本文に文字列を含む HTTP POST要求を処理します (たとえば、XML 形式)。 要求の HTTP メソッドと URI の形式は、それぞれ Method プロパティと UriTemplate プロパティを使用してカスタマイズできることに注意してください。

App.config ファイルは、WebHttpEndpoint プロパティが HelpEnabled に設定されている既定のtrueで WCF サービスを構成します。 その結果、WCF インフラストラクチャは、サービスへの HTTP 要求を構築する方法とサービスの HTTP 応答を使用する方法に関する情報を提供する HTML ベースの自動ヘルプ ページを http://localhost:8000/Customers/help に作成します。

Program.csでは、WCF チャネル ファクトリを使用してサービスを呼び出し、応答を処理する方法を示します。 これは WCF サービスにアクセスするための 1 つの方法に過ぎません。 HttpWebRequestWebClientなどの他の .NET Framework クラスを使用してサービスにアクセスすることもできます。

このサンプルは、セルフホステッド サービスと、両方ともコンソール アプリケーション内で実行されるクライアントで構成されています。 コンソール アプリケーションが実行されると、クライアントはサービスに要求を行い、応答から関連する情報をコンソール ウィンドウに書き込みます。

このサンプルを使用するには

  1. 基本的な Http サービス サンプルのソリューションを開きます。 Visual Studio 2012 を起動するときに、サンプルを正常に実行するには管理者として実行する必要があります。 これを行うには、Visual Studio アイコンを右クリックし、コンテキスト メニューから [ 管理者として実行 ] を選択します。

  2. Ctrl キー+Shift+B キーを押してソリューションをビルドし、Ctrl+キーを押してデバッグなしでコンソール アプリケーションを実行します。 コンソール ウィンドウが表示され、実行中のサービスの URI と、実行中のサービスの HTML ヘルプ ページの URI が表示されます。 ブラウザーでヘルプ ページの URI を入力することで、いつでも HTML ヘルプ ページを表示できます。 サンプルの実行時に、クライアントは現在のアクティビティの状態を書き込みます。

  3. 任意のキーを押してサンプルを終了します。