Windows Communication Foundation (WCF) Visual Studio テンプレートは、Visual Studio で WCF サービスとその周辺のアプリケーションをすばやく構築するために使用できる定義済みのプロジェクトおよび項目テンプレートです。
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)。 構成ファイルは、WCF サービス モデルの基本的な要素にセキュリティで保護された HTTP バインディングを提供します。 また、サービスのエンドポイントも含まれており、メタデータ交換を有効にします。
注
Visual Studio は、既定の構成である WCF サービス ホスト (WcfSvcHost.exe) を使用して実行するときに、プロジェクトの構成ファイルとして App.config ファイルを認識するように構成されています。 実行可能ファイルでサービス ライブラリをホストする場合は、DLL の構成ファイルが有効ではないため、構成コードを実行可能ファイルの構成ファイルに移動する必要があります。
WCF サービス アプリケーション テンプレート
WCF サービス アプリケーション テンプレートは、 Visual C#\WCF と Visual Basic\WCF の [新しいプロジェクト] ダイアログ ボックスで使用できます。
WCF Web Application Service テンプレートを使用して新しいプロジェクトを作成すると、プロジェクトには次の 4 つのファイルが含まれます。
サービス ホスト ファイル (service1.svc)。
サービス コントラクト ファイル (IService1.csまたはIService1.vb)。
サービス実装ファイル (Service1.svc.csまたはService1.svc.vb)。
Web 構成ファイル (Web.config)。
テンプレートは自動的に Web サイト (仮想ディレクトリにデプロイされる) を作成し、その中でサービスをホストします。
WCF Web サイト テンプレート
WCF Web サイト テンプレートは、Visual C#\Web Site\WCF Service と Visual Basic\Web Site\WCF Service の [新しいプロジェクト] ダイアログ ボックスで使用できます。 これにより、WCF サービス アプリケーション テンプレートと同じファイルが作成されますが、ASP.NET Web サイトであるかのように整理されます。 App_CodeフォルダーとApp_Data フォルダーが作成されます。
WCF サービス項目テンプレート
WCF サービス項目テンプレートは、既存の Visual Studio プロジェクトに WCF サービスを簡単に追加する方法を提供するカスタム テンプレートです。
このテンプレートを使用するには、[ ソリューション エクスプローラー ] ウィンドウに移動し、プロジェクト名を右クリックして [追加] をポイントし、[ 新しい項目 ] をクリックして [ 新しい項目の追加] ダイアログ ボックスを起動します。
サービス インターフェイスと実装ファイルは、ルート プロジェクト フォルダーに配置されます。
テンプレートは、互換性のある種類の場合、新しいサービスの構成セクションを既存の構成ファイルにマージしようとします。
既存のプロジェクトが Web プロジェクトの場合は、サービス ホスト ファイル (service1.svc) も作成されます。
WCF WF サービス プロジェクトと項目テンプレート。
これらのテンプレートは、Web サービスのようにアクセスできるワークフローであるワークフロー サービスをホストする WCF サービスを作成します。 XAML または命令型プログラミング モデルには、個別のテンプレートが存在します。 テンプレートを使用して、シーケンシャル またはステート マシン ワークフローを作成できます。 これらの種類のワークフローの詳細については、「 方法: ワークフローを作成する」を参照してください。 ワークフロー プロジェクトの作成の詳細については、「 レガシ ワークフロー プロジェクトの作成」を参照してください。
Visual Studio デザイナーは、コード ベースのワークフローではなく XOML 型ワークフローを使用する場合の応答性が向上します。 XOML ワークフローは、作成される既定のワークフローの種類です。
WCF シンジケーション サービス ライブラリ テンプレート
このテンプレートを使用すると、フィードを WCF サービスとして RSS または ATOM 形式で公開できます。 詳細については、「 WCF シンジケーション」を参照してください。
フィードのアドレスの変更
配信テンプレートは、実行中に Web ブラウザーを使用します。 Visual Studio の ソリューション エクスプローラー でプロジェクトを右クリックし、[ プロパティ] を選択し、[ デバッグ ] タブを選択すると、テンプレートの既定のアドレスが表示されます。 ブラウザーはこのアドレスでフィードを開こうとします。
フィードのアドレスを変更する場合は、[ デバッグ ] タブでアドレスも変更する必要があります。これを行わない場合、ブラウザーは既定のアドレスでフィードを開こうとし、失敗します。
AJAX 対応 WCF サービス項目テンプレート
このテンプレートは、WCF サービスとして AJAX コントロールを公開します。 AJAX コントロールの詳細については、 AJAX コントロールのドキュメントを参照してください。
Silverlight 対応 WCF サービス項目テンプレート
このテンプレートは、Silverlight クライアントまたはフロントエンドにデータを提供する Web サービスを作成します。 テンプレートを Web サイトまたは Web アプリケーション プロジェクトに追加して、Silverlight クライアントとの通信をサポートするサービス コードと構成を含む WCF サービスを作成できます。 その後、 サービス参照の追加 を使用して、サービスのクライアント プロキシをクライアントに追加し、Silverlight クライアントと Silverlight 対応 WCF サービスの間でデータを交換できます。
このテンプレートにアクセスするには、 ソリューション エクスプローラーで Web サイトまたは Web アプリケーション プロジェクトを右クリックし、[ 新しい項目の追加] をクリックして、[ Silverlight 対応 WCF サービス] をクリックします。
注
Silverlight 対応 WCF サービスは、セキュリティ設定を有効にせずに、 basicHttpBinding
エンドポイントを公開します。 そのため、このサービスに接続するすべてのクライアントがサービスに関する情報を取得できます。 サービスとクライアントの間で交換されるメッセージも、署名も暗号化もされません。 エンドポイントを適切にセキュリティで保護するには、ASP.NET 認証、HTTPS、またはその他のメカニズムを使用する必要があります。