WCF系列博文(三)-----WCF定义的12中标准绑定特性

在使用WCF框架进行开发时,如何选择一个适合的绑定对于消息传输的可靠性,传输模式是否跨进程、主机、网络,传输模式的支持、安全性、性能等方面有着重要的影响。从本质来看,绑定具有的这些特性源于其使用的网络协议和编码器。绑定是一个定制好的通道栈,包含了协议通道、传输通道和编码器。所以在使用WCF框架进行开发时,如何选择一个合适的绑定是非常必要的。

下面先介绍一下这12个标准绑定:

常用

1、基本绑定(BasicHttpBinding)
对应BasicHttpBinding类,能够将WCF服务公开为传统的ASMX Web服务,是以前就的程序能够使用现在的WCF

服务。在实际开发中一个WCF服务可能会给不同的程序调用,如给Java的程序调用,给Flex的程序调用等,那么采

用BasicHttpBinding最合适不过了
2、TCP绑定(NetTcpBinding)
对应与NetTcpBinding类,TCP绑定使用TCP协议在Intranet中跨机器的通信,注意这里是Intranet而非Internet。

支持多种特性,包括可靠性、事务性、安全性、以及WCF之间通信的优化。前提是要求客户端与服务端都必须使用

WCF
3、IPC绑定(NetNamedPipeBinding)
对应于NetNamedPipeBinding累,使用命名管道为同一机器通信进行传输,安全性最高,因为不能接收其它机器的

外部调用。IPC协议绑定与TCP协议绑定相似,也是性能最好的绑定,因为IPC协议比TCP协议更简单
4、Web服务(WS)绑定(WSHttpBinding)
对应于WSHttpBinding类,WS绑定使用Http或Https进行传输。为基于Internet的通信提供了多种特性(可靠性、

事务性、安全性),遵循WS-*标准。该绑定用来与支持WS-*标准的系统进行互操作
5、MSMQ绑定(NetMsmqBinding)
对应于NetMsmqBinding类,它使用MSMQ进行传输,用于支持断开的队列调用
:二进制编码格式使用TCP、IPC、MSMQ可以获取最佳性能,但是它是以牺牲互操作性为代价,因为它只支持

WCF到WCF的通信

不常用
6、WS双向绑定
对应于WSDualHttpBinding类,与WS绑定几乎一样,不过它支持双向通信。由于没有支持回调的行业标准,所以

不支持互操作性。在.NET服务总线以及NetTcpRelayBinding出现后,不再推荐使用
7、对等网络绑定
对应于NetPeerTcpBinding类,它使用对等网络来传输消息:使用对等网络与客户端可以订阅的相同网格,并且广

播消息。设计网络拓扑与网络计算
8、联邦WS绑定
对应于WSFederationHttpBinding类,主要是支持联邦安全
9、联邦WS 2007绑定
对应于WS2007FederationHttpBinding类,为WSFederationHttpBinding的更新版本
10、MSMQ集成绑定
对应于MsmqIntegrationBinding类,支持消息队列的绑定,MSMQ集成绑定可以将WCF消息转化为MSMQ消息,

的设计目标就是为了与MSMQ客户端交互

11、WS 2007绑定
对应于WS2007HttpBinding类,继承与WSHttpBinding类,添加了对于事务、安全、可靠性规范的支持。
  现在知道了这些绑定的含义了,那么我们该如何去选择他们,下面通过一张图,来帮助我们选择合适的绑定。


  除此之外,性能也是我们要考虑的因素,通常情况 ,在满足系统使用性能前提下,选择一种最佳的绑定方式。一般的,使用IPC(即:netNamedPipeBinding)的绑定要优于使用TCP的绑定,而使用TCP(即:netTcpBinding)的绑定又优于使用HTTP的绑定。使用针对WCF优化的绑定要优于参与非WCF系统交互的绑定。



  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 14
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值