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. 右键单击 “服务 ”项目,然后选择“ 设置为启动项目”,然后按 Ctrl+F5

    2. 等待控制台输出,确认服务已启动并运行。

    3. 右键单击 “客户端 ”项目,然后选择“ 设置为启动项目”,然后按 Ctrl+F5

另请参阅