構成ベースのアクティブ化

このサンプルでは、.svc ファイルを使用せずに Windows Communication Foundation (WCF) サービスをアクティブ化する方法を示します。

Dd807499.Important(ja-jp,VS.100).gif 注 :
サンプルは、既にコンピューターにインストールされている場合があります。続行する前に、次の (既定の) ディレクトリを確認してください。

<InstallDrive>:\WF_WCF_Samples

このディレクトリが存在しない場合は、「.NET Framework 4 向けの Windows Communication Foundation (WCF) および Windows Workflow Foundation (WF) のサンプル」にアクセスして、Windows Communication Foundation (WCF) および WF のサンプルをすべてダウンロードしてください。このサンプルは、次のディレクトリに格納されます。

<InstallDrive>:\WF_WCF_Samples\WCF\Basic\Services\Hosting\ConfigBasedActivation

サンプルの詳細

このサンプルでは、クライアントは WCF テスト クライアントで、サービスは IIS によってホストされています。

Dd807499.note(ja-jp,VS.100).gif注 :
このサンプルのセットアップ手順とビルド手順については、このトピックの最後を参照してください。

.svc ファイルを必要としない、サービスのアクティブ化

.NET Framework 3.5 では、サービスをアクティブ化するために .svc ファイルが必要でした。アプリケーションと共に追加ファイルを配置して管理する必要があったため、このことは管理のオーバーヘッドを増やす原因となりました。.NET Framework Version 4 リリースでは、アプリケーション構成ファイルを使用してアクティブ化コンポーネントを構成することができます。

.NET Framework 4 では、アプリケーション構成ファイルの ServiceHostingEnvironmentSection に、新しい構成要素 ServiceActivationElement が導入されています。ServiceHostingEnvironmentSection コレクションは、次のコード例に示すように、サービスのコレクションを受け取ってアクティブ化を行います。

<serviceActivations>
   <add relativeAddress="Calculator.svc" service="Microsoft.ServiceModel.Samples.CalculatorService" />


<serviceActivations>

注目すべき点は、構成が .svc ファイルの構成に非常に似ていることです。導入された追加の属性は、サービスのアドレスを提供する relativeAddress です。相対アドレスは、サービスの仮想パスでもあります。ホストは、ファイルの Web.config ファイルが存在する場合に、そのファイルを virtualPath の場所から取得します。ファイルが存在しない場合、ホストはその親フォルダーを再帰的に検索します。

Dd807499.note(ja-jp,VS.100).gif注 :
このサンプルを機能させるには、IIS でホストする必要があります。

このサンプルを使用するには

  1. Visual Studio 2010 を使用して、Service.csproj ファイルを開きます。

  2. ソリューションをビルドするには、F6 キーを押します。

  3. WCFTestClient.exe を実行してサービスをテストします。

  4. Windows エクスプローラーを使用して、%SystemDrive%\Program Files\Microsoft Visual Studio 10.0\Common7\IDE フォルダーに移動します。

  5. WcfTestClient.exe を実行します。

  6. サービスの MEX アドレスを設定します。

  7. Ctrl と Shift キーを押しながら A キーを押して、サービス アドレスを設定します。

  8. アドレスを https://localhost/ServiceModelSamples/Calculator.svc に設定します。

  9. Add 操作を実行します。n1 パラメーターの値を 10 に、n2 パラメーターの値を 15 に設定します。

  10. [起動] をクリックします。

    予期される結果は 25 です。

サンプルを設定、ビルド、および実行するには

  1. Windows Communication Foundation サンプルの 1 回限りのセットアップの手順」が実行済みであることを確認します。

  2. ソリューションの C# 版または Visual Basic .NET 版をビルドするには、「Windows Communication Foundation サンプルのビルド」の手順に従います。

  3. ソリューションがビルドされたら、Setup.bat を実行し、IIS で ServiceModelSamples アプリケーションを設定します。ServiceModelSamples ディレクトリは、IIS アプリケーションとして表示されます。

  4. 単一コンピューター構成か複数コンピューター構成かに応じて、「Running the Windows Communication Foundation Samples」の手順に従います。