WCF サービスの簡略化された構成

ConfigSimplificationIn40 サンプルでは、Windows Communication Foundation (WCF) を使用して一般的なサービスとクライアントを実装および構成する方法を示します。 このサンプルは、他のすべての基本的な技術サンプルの基礎になります。

このサービスにより、サービスとの通信に使用する単一エンドポイントが公開されており、.NET Framework 4 の簡略化された構成が使用されています。 .NET Framework 4 より前は、次の構成コード例に示すように、エンドポイントは通常、構成ファイル (Web.config) で定義されています。

<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright ©) Microsoft Corporation. All Rights Reserved. -->
<configuration>
  <system.serviceModel>
    <behaviors>
      <serviceBehaviors>
        <behavior name="CalculatorServiceBehavior">
          <serviceMetadata httpGetEnabled="True"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <services>
      <service name="Microsoft.Samples.GettingStarted.CalculatorService"
               behaviorConfiguration="CalculatorServiceBehavior">
        <endpoint address="" binding="basicHttpBinding" contract="ICalculator"/>
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
      </service>
    </services>
  </system.serviceModel>
</configuration>

.NET Framework 4 では、<service> 要素は省略可能です。 サービスでエンドポイントが定義されていない場合、各ベース アドレスのエンドポイントと実装されたコントラクトがサービスに追加されます。 このベース アドレスがコントラクト名に追加されてエンドポイントが決定され、バインドがアドレス スキームで決定されます。 次のコード例は、簡略化された構成ファイルを示しています。 構成のとおり、サービスには、同じコンピューター上のクライアントから http://localhost/servicemodelsamples/service.svc でアクセスできます。 リモート コンピューター上のクライアントがサービスにアクセスするには、localhost の代わりに完全修飾ドメイン名を指定する必要があります。 既定では、サービスはメタデータを公開しません。 そのため、サービスは ServiceMetadataBehavior 動作を有効にします。

<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright © Microsoft Corporation. All Rights Reserved. -->
<configuration>
  <system.serviceModel>
    <behaviors>
      <serviceBehaviors>
        <behavior name="">
          <serviceMetadata httpGetEnabled="True"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>
</configuration>

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

  1. Windows Communication Foundation サンプルの 1 回限りのセットアップの手順を実行したことを確認します。

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

  3. 次の手順に従ってサンプルを実行します。

    1. Service プロジェクトを右クリックして [スタートアップ プロジェクトに設定] を選択し、Ctrl+F5 キーを押します。

    2. コンソール出力でサービスが動作していることが確認されるまで待機します。

    3. Client プロジェクトを右クリックして [スタートアップ プロジェクトに設定] を選択し、Ctrl+F5 キーを押します。

関連項目