構成ベースのアクティブ化
このサンプルでは、.svc ファイルを使用せずに Windows Communication Foundation (WCF) サービスをアクティブ化する方法を示します。
注 : |
---|
サンプルは、既にコンピューターにインストールされている場合があります。続行する前に、次の (既定の) ディレクトリを確認してください。
<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 によってホストされています。
注 : |
---|
このサンプルのセットアップ手順とビルド手順については、このトピックの最後を参照してください。 |
.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
の場所から取得します。ファイルが存在しない場合、ホストはその親フォルダーを再帰的に検索します。
注 : |
---|
このサンプルを機能させるには、IIS でホストする必要があります。 |
このサンプルを使用するには
Visual Studio 2010 を使用して、Service.csproj ファイルを開きます。
ソリューションをビルドするには、F6 キーを押します。
WCFTestClient.exe を実行してサービスをテストします。
Windows エクスプローラーを使用して、%SystemDrive%\Program Files\Microsoft Visual Studio 10.0\Common7\IDE フォルダーに移動します。
WcfTestClient.exe を実行します。
サービスの MEX アドレスを設定します。
Ctrl と Shift キーを押しながら A キーを押して、サービス アドレスを設定します。
アドレスを https://localhost/ServiceModelSamples/Calculator.svc に設定します。
Add
操作を実行します。n1
パラメーターの値を 10 に、n2
パラメーターの値を 15 に設定します。[起動] をクリックします。
予期される結果は 25 です。
サンプルを設定、ビルド、および実行するには
「Windows Communication Foundation サンプルの 1 回限りのセットアップの手順」が実行済みであることを確認します。
ソリューションの C# 版または Visual Basic .NET 版をビルドするには、「Windows Communication Foundation サンプルのビルド」の手順に従います。
ソリューションがビルドされたら、Setup.bat を実行し、IIS で ServiceModelSamples アプリケーションを設定します。ServiceModelSamples ディレクトリは、IIS アプリケーションとして表示されます。
単一コンピューター構成か複数コンピューター構成かに応じて、「Running the Windows Communication Foundation Samples」の手順に従います。