WCF 配置系列(三)
<Binding>节点配置
<bindings>节点包含了通信特性的定义,这些特性包含通信协议、传输机制和编码、解码器。
Bindings节点可以包含一个或多个<binding>子节点,每个<binding>子节点定义一部分endpoint之间的通信特性。不同的Binding配置节对应着不同的通信特性,有的Binding节点配置协议通道,有的配置传输通道,还有的配置编码器。虽然可以有多个Binding子节点,但是关于传输通道和编码通道的Binding节点都只能有一个,协议通道除外。
系统内置支持大约十多种Binding,要使用它们,除了要在endpoint节点处使用binding属性指定要使用哪种类型的Binding,还要在Bindings节点下定义一个同类型的Binding(可以不定义,这种情况下程序使用此Binding类型的默认特性)。示例如下。
<services>
<service name="WcfService" behaviorConfiguration="serviceBehavior">
<endpoint address ="" binding="wsHttpBinding" bindingConfiguration="bindingName"
contract="WcfService">
</endpoint>
</service>
</services>
<bindings>
<wsHttpBinding>
<binding name="bindingName">
</binding>
</wsHttpBinding>
</bindings>
也可以不定义bindings中的wsHttpBinding节点,直接在endpoint定义中指定Binding类型,代码如下。
<endpoint address ="" binding="wsHttpBinding" contract="WcfService">
</endpoint>
系统自带的binding有下面这些。
l <BasicHttpBinding>
l <WSHttpBinding>
l <WSDualHttpBinding>
l <WSFederationHttpBinding>
l <WebHttpBinding>
l <NetTcpBinding>
l <NetNamedPipeBinding>
l <NetMsmqBinding>
l <NetPeerTcpBinding>
l <MsmqIntegrationBinding>
一切总是平衡的,这里少,那里补上!