次の方法で共有


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 サンプル One-Time セットアップ手順を実行していることを確認します。

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

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

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

    2. サービスが稼働していることを確認するコンソール出力を待ちます。

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

こちらも参照ください