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
访问。 若要使远程计算机上的客户端能够访问该服务,必须指定完全限定域名,而不是本地主机。 默认情况下,该服务不公开元数据。 因此,该服务将打开 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>
使用此示例
要生成解决方案,请按照生成 Windows Communication Foundation 示例中的说明进行操作。
按照以下步骤运行示例:
右击“服务”项目并选择“设为启动项目”,然后按 Ctrl+F5。
等待确认服务已准备好并且正在运行的控制台输出。
右击“客户端”项目并选择“设为启动项目”,然后按 Ctrl+F5。