チュートリアル: Windows Communication Foundation アプリケーション入門
次の一連のチュートリアルでは、Windows Communication Foundation (WCF) のプログラミング エクスペリエンスを紹介します。 これらのチュートリアルを順番に実行すると、WCF アプリケーションの作成に必要なステップの概要を理解することができます。 終了すると、WCF サービスと、そのサービスを呼び出す WCF クライアントを実行できるようになります。
このチュートリアルでは、開発環境として Visual Studio を使用していることを前提とします。 別の開発環境を使用している場合、Visual Studio 固有の指示は無視してください。
ダウンロードして実行できるサンプル WCF アプリケーションについては、「Windows Communication Foundation のサンプル」を参照してください。 サンプルの概要については、「入門サンプル」を参照してください。
サービスとクライアントの作成について詳しくは、「基本的な WCF プログラミング」を参照してください。
WCF の代替としての gRPC
gRPC は、WCF の一般的な代替手段である最新の RPC フレームワークです。 gRPC は HTTP/2 に基づいて構築されており、WCF と比べて以下のような多くの利点があります。
- パフォーマンス: gRPC は WCF よりもはるかに効率的であり、特に、実行時間の長い接続の場合に顕著です。
- スケーラビリティ: gRPC は、多数のクライアントとサーバーにスケーリングするように設計されています。
- セキュリティ: gRPC は、TLS や認証など、多様なセキュリティ メカニズムをサポートしています。
- クロスプラットフォーム: gRPC はプラットフォームに依存せず、多様なプログラミング言語で使用できます。
gRPC アプリの開発または WCF アプリの gRPC への移行の詳細については、次の項目を参照してください。
WCF のチュートリアル
最初の 3 つのチュートリアルでは、WCF サービス コントラクトを定義する方法、それを実装する方法、およびそれをホストする方法について説明します。 作成したサービスは、コンソール アプリケーション内で自己ホストされます。 サービスは、Microsoft インターネット インフォメーション サービス (IIS) でホストすることもできます。 詳細については、「方法: IIS で WCF サービスをホストする」を参照してください。 このチュートリアルではコードを使用してサービスを構成しますが、構成ファイル内でサービスを構成することもできます。
-
WCF コントラクトは、ユーザー定義のインターフェイスを使用して作成します。 このコントラクトでは、サービスによって公開される機能を定義します。
-
定義したコントラクトは、サービス クラスと共に実装する必要があります。
-
サービスのエンドポイントを構成し、コンソール アプリケーション内でサービスをホストします。 サービスをアクティブにするには、それを構成し、ランタイム環境内でホストする必要があります。 このランタイム環境によってサービスが作成され、そのコンテキストと有効期間が制御されます。
次の 2 つのチュートリアルでは、サービスによって公開される操作を呼び出すためにクライアント アプリケーションを作成、構成、および使用する方法について説明します。 サービスは、クライアント アプリケーションがサービスと通信するために必要な情報を定義したメタデータを公開します。 Visual Studio により、このメタデータにアクセスするプロセスが自動化され、それを使って、サービスのクライアント アプリケーションが構築されます。 Visual Studio を使用しない場合は、ServiceModel メタデータ ユーティリティ ツール (Svcutil.exe) を代わりに使用できます。
-
WCF サービスから WCF クライアント プロキシを作成するためのメタデータを取得します。 メタデータを取得するには、Visual Studio を使用してサービス参照を追加するか、ServiceModel メタデータ ユーティリティ ツールを使用します。 サービスにアクセスするためにクライアントによって使用されるエンドポイントを指定します。
-
WCF クライアント プロキシを使用して、サービス操作を呼び出します。
関連項目
関連項目
- 概念の概要
- ドキュメントのガイド
- Windows Communication Foundation とは
- WCF 機能の詳細
- 基本的なプログラミング ライフサイクル
- クライアントを構築する
- 基本的な WCF プログラミング
- 方法: 双方向コントラクトを作成する
- 方法: 双方向コントラクトを使用してサービスにアクセスする
- ServiceModel メタデータ ユーティリティ ツール (Svcutil.exe)
- 方法: Svcutil.exe を使用してメタデータ ドキュメントをダウンロードする
- 方法: 構成ファイルを使用してサービスのメタデータを公開する
- サービスとクライアントを構成するためのバインディングの使用
- 入門サンプル
- Windows Communication Foundation サンプル
- 自己ホスト