方法 : 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 クライアントを作成するには
次の手順に従って、現在のソリューション内に のクライアントの新しいプロジェクトを作成します。
- ソリューション エクスプローラ (右上) で、サービスを含む同じソリューション内の現在のソリューションを右クリックし、[追加]、[新しいプロジェクト] の順に選択します。
- [新しいプロジェクトの追加] ダイアログ ボックスで、[Visual Basic] または [Visual C#] を選択し、[コンソール アプリケーション] テンプレートをクリックして、「Client」という名前を付けます。既定の [場所] を使用します。
- [OK] をクリックします。
プロジェクトで System.ServiceModel.dll の参照を追加します。
- ソリューション エクスプローラで、[クライアント] プロジェクトの下にある [参照設定] フォルダを右クリックし、[参照の追加] を選択します。
- [最近使用したファイル] タブを選択し、ボックスの一覧から [System.ServiceModel.dll] を選択して [OK] をクリックします。このチュートリアルの最初の手順で、既にこのアセンブリに参照を追加しているので、System.ServiceModel.dll は [最近使用したファイル] タブに示されています。[最近使用したファイル] タブが表示されない場合は、[参照] タブを選択し、C:\Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundation に移動し、そこからアセンブリを選択できます。
メモ : コマンド ライン コンパイラ (Csc.exe や Vbc.exe など) を使用する場合は、アセンブリへのパスも入力する必要があります。たとえば、Windows Vista を実行しているコンピュータの場合、既定のパスは、Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundation になります。 Program.cs ファイルまたは Program.vb ファイルで、System.ServiceModel 名前空間の using ステートメント (Visual Basic の Imports) を追加します。
Imports System.ServiceModel;
using System.ServiceModel;
前述の手順で作成したサービスを開始します。詳細な情報については、次のページを参照してください。 「方法 : 基本的な Windows Communication Foundation サービスをホストおよび実行する」を参照してください。
Service Model Metadata Utility Tool (SvcUtil.exe) を適切なスイッチと共に実行して、クライアント コードと構成ファイルを次の手順に従って作成します。
[スタート] メニューの [Microsoft Windows SDK] エントリにある [CMD Shell] をクリックして、Windows SDK コンソール セッションを開始します。
クライアント コードを格納するディレクトリに移動します。既定値を使用してクライアント プロジェクトを作成した場合、このディレクトリは C:\Users\<user name>\Documents\Visual Studio 2005\Projects\Service\Client です。
コマンド ライン ツールである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 ディレクトリに生成されます。
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