本文主要是介绍(二)WCF的Binding模型,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
上篇博客对WCF中的基础知识进行了介绍,先从概念上知道了WCF的一些理论,在abc模型中B是Binding,WCF为我们提供了多种绑定机制,我们先从了解各种绑定机制开始,只有知道之后才能在实践中更好的利用。
【采用Binding原因】
由于服务之间的通信方式多种多样,就有多种可能的通信模式。包括:同步的请求/应答消息,或者异步的“即发即弃”消息;双向消息等。传递消息的传输协议包括:HTTP、TCP、P2P、IPC以及MSMQ。消息编码格式包括:纯文本编码格式、二进制编码格式、MTOM编码格式。消息安全保障也有多种策略,包括:不实施任何安全策略,只提供传输层的安全策略、消息层的隐私保护和安全策略。WCF还提供了多种对客户端认证与授权的安全策略。
正是由于通信模式和交互方式之间组合数量之大,而且彼此之间可能会排斥或存在约束,管理起来非常复杂。为了简化这些选项,使他们易于管理,WCF引入了Binding技术将这些通信特征组合在一起。这样既方便了用户的使用,同时也使得WCF得到了推广,真是两全其美。
【绑定的内容】
Binding主要解决的问题是怎样实现。一个绑定总封装了传输协议、消息编码、通信模式、可靠性、安全
性、事务传播以及互操作性等相关选项的集合,是的他们保持一致,让我们不做很多事情,只需轻松使用。
【绑定方式】
每种绑定方式使用的传输协议与编码格式都不相同,下面是各个绑定方式与协议的对应关系,我们先
了解,然后再在我们的项目中找到我们用了那种绑定方式。
【项目中应用】
<bindings><!--<wsHttpBinding>--><!--启动事务流--></wsHttpBinding>--><wsHttpBinding><!--启动事务流--><binding name="WsHttpBinding_Default" transactionFlow="true" closeTimeout="00:10:00" receiveTimeout="00:20:00" sendTimeout="00:20:00" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" useDefaultWebProxy="false"><!--<readerQuotas maxStringContentLength="12000000" maxArrayLength="12000000"/>--><security mode="None"><transport clientCredentialType="None" proxyCredentialType="None" realm="" /><message clientCredentialType="UserName" algorithmSuite="Default" /></security></binding></wsHttpBinding></bindings>
【总结】
WCF绑定方式很多,我这里先从理论了解,从代码中看到了关于绑定的应用,任重而道远,还需要在接下
来的实践中去不断地去完善知识的储备。
这篇关于(二)WCF的Binding模型的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!