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>
使用此示例
确保已为 Windows Communication Foundation 示例 执行One-Time 安装过程。
要生成解决方案,请按照生成 Windows Communication Foundation 示例中的说明进行操作。
按照以下步骤运行示例:
右键单击 “服务 ”项目,然后选择“ 设置为启动项目”,然后按 Ctrl+F5。
等待控制台输出,确认服务已启动并运行。
右键单击 “客户端 ”项目,然后选择“ 设置为启动项目”,然后按 Ctrl+F5。