<system.serviceModel>

此配置部分包含所有 Windows Communication Foundation (WCF) ServiceModel 配置元素。

configuration
  <system.serviceModel>

语法

<system.serviceModel>
  <behaviors>
  </behaviors>
  <bindings>
  </bindings>
  <client>
  </client>
  <comContracts>
  </comContracts>
  <commonBehaviors>
  </commonBehaviors>
  <diagnostics>
  </diagnostics>
  <extensions>
  </extensions>
  <protocolMapping>
  </protocolMapping>
  <routing>
  </routing>
  <serviceHostingEnvironment>
  </serviceHostingEnvironment>
  <services>
  </services>
  <standardEndpoints>
  </standardEndpoints>
  <tracking>
  </tracking>
</system.serviceModel>

特性和元素

下列各节描述了特性、子元素和父元素。

特性

子元素

元素 说明
<behaviors> 此节定义名为 endpointBehaviorsserviceBehaviors 的两个子集合。 每个集合分别定义终结点和服务所使用的行为元素。 每个行为元素由其唯一的 name 属性标识。
<bindings> 此节包含标准绑定和自定义绑定的集合。 每一项均由其唯一的 name 进行标识。 服务通过用 name 与绑定进行链接来使用绑定。
<client> 此节包含客户端用来连接到服务的终结点的列表。
<comContracts> 此节定义支持 WCF 和 COM 互操作的 COM 协定。
<commonBehaviors> 此节只能在 machine.config 文件中定义。 它定义了名为 endpointBehaviorsserviceBehaviors 的两个子集合。 每个集合分别定义计算机上所有 WCF 终结点和服务所使用的行为元素。 如果同时在 <commonBehaviors><behaviors> 节中定义了某个行为,则 <behaviors> 节中的行为优先。
<诊断> 此节包含 WCF 的诊断功能设置。 用户可以启用/禁用跟踪、性能计数器和 WMI 提供程序,还可以添加自定义消息筛选器。
<extensions> 此节包含一个扩展集合,这些扩展使用户能够创建扩展的用户定义绑定、行为和其他方面。
<protocolMapping> 此节定义传输协议方案(如 http、net.tcp、net.pipe 等)和 WCF 绑定之间的一组默认协议映射。
<routing> 此节定义一组路由筛选器的配置节,这些筛选器确定计算传入消息时使用 Windows Communication Foundation (WCF) MessageFilter的类型,以及用于定义在筛选器匹配时消息发送到的目标终结点的路由表。
<serviceHostingEnvironment> 此节定义服务承载环境要为特定传输实例化的类型。 如果此节为空,则使用默认类型。
<services> 此节包含服务的集合。 对于程序集中定义的每个服务,此元素包含一个为服务指定设置的 service 元素。
<standardEndpoints> 此节定义一个标准终结点集合,这些终结点是预配置的可重用终结点。 标准终结点具有一个或多个设置为固定值的地址、绑定和协定特性。 例如,发现终结点具有固定的协定。 此外,还可以使用标准终结点用新属性扩展服务终结点,这与定义自定义绑定相似。
<tracking> 此节定义工作流服务的跟踪设置。

父元素

元素 说明
<configuration> .NET 配置文件中的所有配置元素的根元素。

注解

WCF 不会向其他产品的配置节中添加元素。

WCF 服务是在配置文件的 services 节中定义的。 程序集可以包含任意多个服务。 每个服务都有自己的 service 配置节。 本节及其内容定义特定服务的服务协定、行为和终结点。

只有服务的 name 属性是必需的。 默认情况下,服务的名称描述用于实现服务的基础 CLR 类型;但是,您可以更改 ServiceContractAttribute 上的 ConfigurationName 属性以重写 CLR 类型需求。

behaviorConfiguration 属性是可选项。 它标识服务所使用的服务行为。 此属性指定的行为必须链接到同一配置文件的范围(即,同一文件或父文件)中定义的服务行为。

每个服务将公开 endpoint 元素中定义的一个或多个终结点。 每个终结点都具有自己的地址和绑定。 配置文件中使用的所有绑定都必须在该文件的范围内定义。

绑定通过 namebindingConfiguration 属性的组合链接到终结点。 binding 属性定义在哪个节中定义绑定。 bindingConfiguration 属性定义使用绑定节中的哪个已配置绑定。 绑定节可以定义若干个已配置的绑定。

示例

下面是 WCF 配置文件的示例。

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.serviceModel>
    <behaviors>
      <!-- List of Behaviors -->
    </behaviors>
    <client>
      <!-- List of Endpoints -->
    </client>
    <diagnostics wmiProviderEnabled="false"
                 performanceCountersEnabled="false"
                 tracingEnabled="false">
    </diagnostics>
    <serviceHostingEnvironment>
      <!-- List of entries -->
    </serviceHostingEnvironment>
    <comContracts>
      <!-- List of COM+ Contracts -->
    </comContracts>
    <services>
      <!-- List of Services -->
    </services>
    <bindings>
      <!-- List of Bindings -->
    </bindings>
  </system.serviceModel>
</configuration>

另请参阅