深入挖掘WCF绑定原理 深入挖掘
创始人
2024-06-10 18:30:20
0

WCF经过长时间的发展,越来越多的人在使用它,所谓知识就是财富,这里把我的财富分享给大家。WCF绑定属于WCF基本的技术要素,是WCF进行通信处理的基础。了解绑定的相关知识,有助于开发WCF应用程序。因为在不同的业务需求下,可能对通信方式、协议、消息编码等多个方面会有不同的要求。在配制、发布和运行服务时,都需要对绑定进行操作。因而,我们必须掌握WCF内置绑定的相关属性,熟悉绑定元素的相关配置。此外,在一些高级应用上,我们还要掌握自定义绑定的方式,了解在自定义绑定时,添加绑定元素的方式与顺序,了解Binding基类的相关属性和方法。以及与绑定配置相关的类。WCF绑定(Binding)、契约(Contract)与服务的地址(Address)组合在一起,则形成了终结点(Endpoint)。

#T#Address 是Endpoint的网络地址,它标记了消息发送的目的地。Binding描述的是如何发送消息,例如消息发送的传输协议(如TCP,HTTP),安全(如SSL,SOAP消息安全)。Contract则描述的是消息所包含的内容,以及消息的组织和操作方式,例如是单向,双向还是请求/响应方式。引入终结点可以说是WCF的一个伟大创举,通过它使得我们能够更加容易的发布和管理服务,尤其是发布和管理多个服务。每个服务必须至少拥有一个终结点,而客户端正是通过终结点知道服务的相关信息,例如地址、消息编码格式、传输协议以及服务的内容,然后在进行正确的调用。最特别的是,同一个服务可以定义多个终结点,每个终结点可以是不同的地址、不同的WCF绑定方式,以便于满足多个客户端的不同需要。而对于服务的发布者而言,我们只需要管理终结点的配置,就可以完成对服务的管理,这也为服务的托管提供了便利。

服务契约是WCF的主要处理对象,服务的定义和设置正是通过服务契约实现的。除了了解 ServiceContract和OperationContract的基础应用之外,还需要比较WCF服务编程与普通的.NET编程之间的区别,例如服务的继承与多态是怎样实现的。最重要的是如何根据SOA的思想划分服务的边界,确定服务的粒度大小,这需要从系统的易用性、可扩展性、性能等多个方面进行权衡。

服务契约中关于操作的定义要受到很多约束,其中最重要的就是对数据的处理,这也是WCF引入数据契约的目的。由于WCF的特殊性,因而我们需要了解一些特殊数据类型的序列化方式,例如泛型类型、集合、DataSet等。约束服务操作定义的还包括对异常的处理,WCF对异常有一套特殊的处理方式,可以根据实际的情况,确定异常消息是否需要进行通信,以及出现异常时,是否要求停止服务实例,或继续维持会话。WCF 为消息传递提供了非常大的灵活性。它提供了专门的Message类以及相关的读写器,例如XmlDictionaryReader和 XmlDictionaryWriter等对消息进行读写,这其中包含了对消息版本、编码格式、消息标头和正文等的操作。同时,WCF还提供了消息与方法之间的映射。在提供系统的互操作性时,了解WCF的消息传递方式很有必要。

根据不同的需求,WCF将实例模式分为 PerCall,Single和PerSession三种方式。通过设置服务行为的InstanceContextMode属性,来管理服务实例的生存周期,可以简化开发人员的工作。我们只需要了解这三种实例模式的特性即可。通常情况下,我建议服务采用PerCall模式,如果需要维持服务与客户端之间的会话,则可以采用PerSession模式。只有在对性能和可伸缩性没有太大要求的情况下,才可以采用Single模式。

关于事务处理、并发处理以及安全,主要都是通过相关的服务行为进行设置和管理。这些内容都是WCF高级应用所必需掌握的内容,尤其对于开发企业级应用系统而言。至于队列服务,主要是利用了消息队列,以实现系统可以脱机访问服务,并保持服务状态的同步。

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...