方法 : Windows Communication Foundation クライアントを作成する

これは、基本的な Windows Communication Foundation (WCF) サービスとそのサービスを呼び出すことができるクライアントの作成に必要な 6 つのタスクのうち、4 番目のタスクです。6 つのすべてのタスクの概要については、「チュートリアル入門」を参照してください。

ここでは、WCF サービスからメタデータを取得し、このメタデータを使用して、サービスにアクセスできる WCF クライアント プロキシを作成する方法について説明します。このタスクは、WCF によって提供されるServiceModel Metadata Utility Tool (Svcutil.exe) を使用することで完了できます。このツールは、サービスからメタデータを取得し、ユーザーが選択した言語でプロキシのマネージ ソース コード ファイルを生成します。このツールでは、クライアント プロキシだけでなく、クライアントの構成ファイルも作成します。この構成ファイルにより、クライアント アプリケーションはエンドポイントのいずれかにあるサービスに接続できるようになります。

クライアント アプリケーションは、生成されたプロキシを使用して WCF クライアント オブジェクトを作成します。この手順については、「方法 : Windows Communication Foundation クライアントを使用する」を参照してください。

手順に続く例で、このタスクで生成されるクライアントのコードを示します。

Windows Communication Foundation クライアントを作成するには

  1. 次の手順に従って、現在のソリューション内に のクライアントの新しいプロジェクトを作成します。

    1. ソリューション エクスプローラ (右上) で、サービスを含む同じソリューション内の現在のソリューションを右クリックし、[追加][新しいプロジェクト] の順に選択します。
    2. [新しいプロジェクトの追加] ダイアログ ボックスで、[Visual Basic] または [Visual C#] を選択し、[コンソール アプリケーション] テンプレートをクリックして、「Client」という名前を付けます。既定の [場所] を使用します。
    3. [OK] をクリックします。
  2. プロジェクトで System.ServiceModel.dll の参照を追加します。

    1. ソリューション エクスプローラで、[クライアント] プロジェクトの下にある [参照設定] フォルダを右クリックし、[参照の追加] を選択します。
    2. [最近使用したファイル] タブを選択し、ボックスの一覧から [System.ServiceModel.dll] を選択して [OK] をクリックします。このチュートリアルの最初の手順で、既にこのアセンブリに参照を追加しているので、System.ServiceModel.dll は [最近使用したファイル] タブに示されています。[最近使用したファイル] タブが表示されない場合は、[参照] タブを選択し、C:\Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundation に移動し、そこからアセンブリを選択できます。
    ms733133.note(ja-jp,VS.90).gifメモ :
    コマンド ライン コンパイラ (Csc.exe や Vbc.exe など) を使用する場合は、アセンブリへのパスも入力する必要があります。たとえば、Windows Vista を実行しているコンピュータの場合、既定のパスは、Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundation になります。

  3. Program.cs ファイルまたは Program.vb ファイルで、System.ServiceModel 名前空間の using ステートメント (Visual Basic の Imports) を追加します。

    Imports System.ServiceModel;
    
    using System.ServiceModel;
    
  4. 前述の手順で作成したサービスを開始します。詳細な情報については、次のページを参照してください。 「方法 : 基本的な Windows Communication Foundation サービスをホストおよび実行する」を参照してください。

  5. Service Model Metadata Utility Tool (SvcUtil.exe) を適切なスイッチと共に実行して、クライアント コードと構成ファイルを次の手順に従って作成します。

    1. [スタート] メニューの [Microsoft Windows SDK] エントリにある [CMD Shell] をクリックして、Windows SDK コンソール セッションを開始します。

    2. クライアント コードを格納するディレクトリに移動します。既定値を使用してクライアント プロジェクトを作成した場合、このディレクトリは C:\Users\<user name>\Documents\Visual Studio 2005\Projects\Service\Client です。

    3. コマンド ライン ツールであるService Model Metadata Utility Tool (SvcUtil.exe) を適切なスイッチと共に使用して、クライアント コードを作成します。次の例では、サービスのコード ファイルと構成ファイルを生成しています。
      [Visual Basic]

      svcutil.exe /language:vb /out:generatedProxy.vb /config:app.config https://localhost:8000/ServiceModelSamples/service
      

      [C#]

      svcutil.exe /language:cs /out:generatedProxy.cs /config:app.config https://localhost:8000/ServiceModelSamples/service
      

      既定では、クライアント プロキシ コードは、サービスの名前にプログラミング言語の適切な拡張子 (Visual Basic の場合は .vb、C# の場合は .cs) が付けられたファイルに生成されます (この例では、CalculatorService.cs または CalculatorService.vb)。/out スイッチは、クライアント プロキシ ファイルの名前を generatedProxy.cs に変更します。また、/config スイッチは、クライアント構成ファイルの名前を既定の output.config から app.config に変更します。この 2 つのファイルは、C:\Users\<user name>\Documents\Visual Studio 2005\Projects\Service\Client ディレクトリに生成されます。

  6. Visual Studio で、生成されたプロキシをクライアント プロジェクトに追加します。ソリューション エクスプローラ[追加] をクリックし、[既存の項目] をクリックします。前の手順で生成された generatedProxy.cs ファイルを選択します。

次の例は、Service Model Metadata Utility Tool (Svcutil.exe) で生成されたクライアント コードを示しています。

これで Windows Communication Foundation (WCF) クライアントが作成されました。「方法 : 基本的な Windows Communication Foundation クライアントを構成する」に進み、クライアントを構成してください。トラブルシューティングの詳細については、「チュートリアル入門のトラブルシューティング」を参照してください。

関連項目

タスク

方法 : 構成ファイルを使用してサービスのメタデータを公開する
方法 : Svcutil.exe を使用してメタデータ ドキュメントをダウンロードする

その他の技術情報

Service Model Metadata Utility Tool (Svcutil.exe)
Getting Started Sample
Self-Host