和我一起学WCF(五):什么是绑定(Binding)
1.绑定表示通讯信道(communication channel)的配置
2.绑定定义了客户端与服务端之间的通讯协议(具体功能)
A.传输协议
B.消息编码
C.安全性,可靠性消息与事务
传输协议:HTTP,TCP,命名管道(Named Pipes),MSMQ
以及提供自定义支持的:UDP或者SMTP等等
其他的绑定协议:
1.安全:相互认证证书(X.509)消息保护
2.可靠的消息
3.事务支持
4.能够使用自定义绑定协议进行扩展
信道(Channels):
1.信道栈在通讯的每个端点之间发送或者接受消息
客户端代理是从客户端绑定配置构建出来的信道
ServiceHost根据服务绑定的配置,为每个端点暴露出信道的监听器
信道栈由绑定的元素组成,也可以说是由若干个不同的Binding构成
Binding由绑定元素构成,与端点相关
标准绑定:
1.预定义的绑定元素
2.为在HTTP,TCP,命名管道或者MSMQ通讯上提供缺省
3.能够修改配置
自定义绑定:
1.完全自定义的绑定元素的集合
2.当标准绑定无法满足需求时使用
主要的绑定有以下几种:
1.BasicHttpBinding
2.WSHttpBinding
3.WSDualHttpBinding
4.WSFederationHttpBinding
5.NetNamedPipeBinding
6.NetTcpBinding
7.NetPeerTcpBinding
8.NetMsmqBinding
9.MsmqIntegrationBinding
Web Service绑定:
1.BasicHttpBinding 与SOAP1.1兼容
2.WSHttpBinding
3.WSDualHttpBinding
4.WSFederationHttpBinding 适用于联合安全与单点登陆(SSO)的场景
跨进程/主机绑定:
5.NetNamedPipeBinding 用于进程内或者同主机的调用
6.NetTcpBinding 用于同主机或者跨主机的调用
7.NetPeerTcpBinding 用于同主机或者跨主机点的对点消息