WCF 个别配置项说明

对于 WCF 配置文件 及 ServiceBehavior/Contract 等中的大多数配置项的作用及用法大家都很熟悉,然后有少部分的配置项,平时用得比较少。本文将对这些使用频率相对较低的配置项进行介绍,欢迎大家完善:


    配置文件

endpoint/@bindingName

作用:指导生成的 WSDL 中 wsdl:service/port 部分的 binding 的名称。

默认:bindingName 是可选的,并非必须。而默认情况下,它的名称为:当前绑定的类型_服务契约的名字。


endpoint/@bindingNamespace

作用:指导生成的 WSDL 中 wsdl:service/port 部分的 binding 的名称空间。

默认:bindingNamespace 同样是可选的,默认为:wsdl 的名称空间。


如果同一个 service 下的多个 endpoint 的 binding 类型相同,则以最后一个修改了 bindingName 和 bindingNamespace 的 endpoint 中的设置为准,也就意味着生成的 WSDL 中的 port 部分中同一种 binding 下的名称和名称空间都与 web.config 中的设置相同。

ServiceBehavior

ConfigurationName

作用:当服务启动的时候,查找对应于配置文件中的 services/service/@name,如果找到则按照配置的服务信息对 WCF 运行时进行初始化;如果没有找到,则按照默认的服务信息进行初始化。

默认:服务在 C# 中的全名(类的名称空间+类的名称)

Name

作用:指导生成的 WSDL 中的 Service 元素的 Name

默认:服务的名称

Namespace

作用:指导包含 Service 元素的 WSDL 的 TargetNamespace

默认:http://tempuri.org

ServiceContract

ConfigurationName

作用:当服务启动时,会查找对应于配置文件中的 Endpoint/@contract,如果找到,则服务正常加载。否则因为无法找到契约,导致服务启动失败。当默认的名称很长的时候,可以用此方式配置一个简短的名称。

默认:服务契约的名称空间+服务契约的名称


Name

作用:指导生成的 WSDL 中的 <portType> 元素的 Name

默认:服务的名称

Namespace

作用:指导生成的 WSDL 中的 <portType> 元素的 TargetNamespace

默认:http://tempuri.org


示 例

1,默认不提供 bindingName 和 bindingNamespace

web.config


WSDL

 


2,两个不同的 Endpoint,不同类型的 Binding

web.config


WSDL

文章索引

[隐 藏]

本站采用知识共享署名 3.0 中国大陆许可协议进行许可。 ©2014 Charley Box | About Site | 浙ICP备13014059号