WCF Visual Studio テンプレート

Windows Communication Foundation (WCF) Visual Studio テンプレートは、WCF サービスと周囲のアプリケーションをすばやく構築するために Visual Studio で使用できる、定義済みのプロジェクトおよび項目テンプレートです。

WCF テンプレートの使用

WCF Visual Studio テンプレートによって、サービス開発のための基本的なクラス構造が提供されます。 これには、サービス コントラクト、データ コントラクト、サービス実装、および構成の基本的な定義が含まれます。 これらのテンプレートを使用すると、最小限のコードを使用した単純なサービスや、より高度なサービスのビルド ブロックを作成できます。

WCF サービス ライブラリ プロジェクト テンプレート

WCF サービス ライブラリ プロジェクト テンプレートは、[新しいプロジェクト] ダイアログ ボックスの [Visual C#]\[WCF] および [Visual Basic]\[WCF] で使用できます。

WCF サービス テンプレートを使用して新しいプロジェクトを作成すると、次の 3 つのファイルが新しいプロジェクトに自動的に追加されます。

  • サービス コントラクト ファイル (IService1.cs または IService1.vb)。 サービス コントラクト ファイルは、WCF サービスの属性が適用されたインターフェイスです。 このファイルには、サービスの定義方法を示す単純なサービスの定義が含まれています。その他に、パラメーター ベースの操作や、単純なデータ コントラクトのサンプルも含まれています。 これは、WCF サービス プロジェクトの作成後にコード エディターに表示される既定のファイルです。

  • サービス実装ファイル (Service1.cs または Service1.vb)。 サービス実装ファイルは、サービス コントラクト ファイルに定義されているコントラクトを実装します。

  • アプリケーション構成ファイル (App.config)。 この構成ファイルには、セキュリティで保護された HTTP バインディングを含む WCF サービス モデルの基本要素が含まれています。 サービスのエンドポイントも含まれており、メタデータの交換も可能です。

Note

Visual Studio は、プロジェクトが WCF サービス ホスト (WcfSvcHost.exe) を使用して実行された場合 (既定の構成) に、App.config ファイルをそのプロジェクトの構成ファイルとして認識するように構成されています。 サービス ライブラリを実行可能ファイルでホストする場合は、DLL の構成ファイルは無効になるため、その実行可能ファイルの構成ファイルに構成コードを移動する必要があります。

WCF サービス アプリケーション テンプレート

WCF サービス アプリケーション テンプレートは、[新しいプロジェクト] ダイアログ ボックスの [Visual C#]\[WCF] および [Visual Basic]\[WCF] で使用できます。

WCF Web アプリケーション サービス テンプレートを使用して新しいプロジェクトを作成すると、次の 4 つのファイルがプロジェクトに追加されます。

  • サービス ホスト ファイル (service1.svc)。

  • サービス コントラクト ファイル (IService1.cs または IService1.vb)。

  • サービス実装ファイル (Service1.svc.cs または Service1.svc.vb)。

  • Web 構成ファイル (Web.config)。

このテンプレートでは、自動的に Web サイトが作成されて (仮想ディレクトリに配置されます)、サービスがホストされます。

WCF Web サイト テンプレート

WCF Web サイト テンプレートは、[新しいプロジェクト] ダイアログ ボックスの [Visual C#]\[Web サイト]\[WCF サービス] および [Visual Basic]\[Web サイト]\[WCF サービス] で使用できます。 これによって、WCF サービス アプリケーションのテンプレートと同じファイルが作成されますが、ASP.NET Web サイトであるかのように編成されます。 App_Code フォルダーと App_Data フォルダーが作成されます。

WCF サービス項目テンプレート

WCF サービス項目テンプレートは、既存の Visual Studio プロジェクトに WCF サービスをすばやく追加できるカスタム テンプレートです。

このテンプレートを使用するには、ソリューション エクスプローラー ペインでプロジェクトの名前を右クリックし、 [追加] をポイントしてから、 [新しい項目] をクリックして、 [新しい項目の追加] ダイアログ ボックスを開きます。

サービス インターフェイス ファイルとサービス実装ファイルがルート プロジェクト フォルダーに配置されます。

このテンプレートでは、新しいサービスの構成セクションが既存の構成ファイルと互換性がある場合にそれらがマージされます。

既存のプロジェクトが Web プロジェクトの場合は、サービス ホスト ファイル (service1.svc) も作成されます。

WCF WF サービス プロジェクト/項目テンプレート

これらのテンプレートは、ワークフロー サービスをホストする WCF サービスを作成します。ワークフロー サービスとは、Web サービスのようにアクセスできるワークフローです。 この他に、XAML プログラミング モデルや命令型プログラミング モデルのテンプレートも用意されています。 これらのテンプレートを使用すると、シーケンシャル ワークフローやステート マシン ワークフローを作成できます。 これらの種類のワークフローの詳細については、「方法: ワークフローを作成する」を参照してください。 ワークフロー プロジェクトの作成の詳細については、レガシ ワークフロー プロジェクトの作成に関するページを参照してください。

Visual Studio デザイナーは、コード ベースのものではなく XOML 型のワークフローを使用したときに応答性が向上します。 XOML ワークフローは、既定で作成されるワークフロー型です。

WCF 配信サービス ライブラリ テンプレート

このテンプレートを使用すると、RSS または ATOM 形式のフィードを WCF サービスとして公開できます。 詳細については、「WCF 配信」を参照してください。

フィードのアドレスの変更

シンジケーション テンプレートは、実行中に Web ブラウザーを使用します。 Visual Studio のソリューション エクスプローラーでプロジェクトを右クリックして、[プロパティ] を選択してから、[デバッグ] タブをクリックすると、テンプレートの既定のアドレスが表示されます。 ブラウザーによって、このアドレスにあるフィードを開くための試行が行われます。

フィードのアドレスを変更する場合は、[デバッグ] タブ内のアドレスも変更する必要があります。これを行わないと、ブラウザーによって既定のアドレスにあるフィードを開くための試行が行われますが、失敗します。

AJAX 対応 WCF サービス項目テンプレート

このテンプレートは、AJAX コントロールを WCF サービスとして公開します。 AJAX コントロールの詳細については、AJAX コントロールに関するドキュメントを参照してください。

Silverlight 対応 WCF サービス項目テンプレート

このテンプレートは、Silverlight クライアントまたはフロントエンドにデータを提供する Web サービスを作成します。 このテンプレートを Web サイトまたは Web アプリケーションのプロジェクトに追加すると、Silverlight クライアントとの通信をサポートするサービス コードと構成が含まれた WCF サービスを作成できます。 その後、 [サービス参照の追加] を使用してサービスのクライアント プロキシをクライアントに追加し、Silverlight クライアントと Silverlight 対応 WCF サービスとの間でデータを交換できます。

このテンプレートにアクセスするには、ソリューション エクスプローラーで Web サイトまたは Web アプリケーション プロジェクトを右クリックし、[追加] をポイントして、 [新しい項目] をクリックします。次に、 [Silverlight 対応 WCF サービス] をクリックします。

Note

Silverlight 対応 WCF サービスは、セキュリティ設定を一切有効にせずに basicHttpBinding エンドポイントを公開します。 したがって、サービスに接続しているすべてのクライアントが、このサービスに関する情報を取得できることになります。 また、サービスとクライアント間で交換されるメッセージの署名と暗号化も行われません。 エンドポイントを正しくセキュリティで保護するには、ASP.NET 認証や HTTPS などのメカニズムを使用する必要があります。

関連項目