WCF绑定元素具体应用知识介绍
创始人
2024-06-23 08:00:23
0

WCF开发工具的出现,对于开发人员来说具有非常大的作用。在这里我们将会为大家详细介绍一下有关WCF绑定元素的相关概念。那么对于初学者来说,大家可以通过这篇文章想、充分掌握这些应用技巧。#t#

从结构的角度讲,一个绑定对象有一系列绑定元素组成,每个绑定元素负责创建相应的信道。所以绑定元素几何的构成以及它们之间的先后顺序,决定了最终生成的信道栈中的信道组成已经它们位于栈中的先后顺序。WCF之所以在设计的时候将绑定和绑定元素分离开发,是基于灵活性、可扩展性考虑的。 #t#

在介绍信道和信道栈的时候我们说过,我们不可能、也不应该创建一个***的信道能够提供消息交换中的所有的功能,所以我们让一个信道只承载某个单一的功能,比如传输信道专注于网络传输,消息编码信到专注于消息的编码,WCF还定义了一一系列的信道,他们分别关注与安全、可靠传输和事务流转等等。这种信道组合的设计方式使得我们可以根据具体的需求来定制我们将要创建的信道栈,让它只具有我们必须的功能,而去除不必要的功能。

同理,我们可以根据具体实际需求,将必要的WCF绑定元素进行有序的组合,从而创建最能适合具体场景的绑定对象。由于信道可以分为必须的传输信道、消息编码信道和可选的基于某种WS-*协议实现的协议信道,与之相对地,我们的绑定元素可以分为传输绑定元素、消息编码绑定元素和协议绑定元素。

由于信道的实际创建者是信道管理器(信道工厂和信道监听器),所以绑定元素只需要实现对信道管理器的创建,而最终实现对具体信道的创建。所以绑定元素的最根本的功能就是实现对信道监听器和信道工厂的创建。这可以从所有WCF绑定元素的基类, System.ServiceModel.Channels.BindingElement的定义上看出来:

 

  1. public abstract class BindingElement   
  2. {   
  3. // Methods   
  4. protected BindingElement();   
  5. protected BindingElement(BindingElement elementToBeCloned);   
  6. public virtual IChannelFactory BuildChannelFactory
    (BindingContext context);  
  7. public virtual IChannelListener BuildChannelListener
    (BindingContext context) where TChannel : class, IChannel;   
  8. public virtual bool CanBuildChannelFactory
    (BindingContext context);   
  9. public virtual bool CanBuildChannelListener
    (BindingContext context) where TChannel : class, IChannel;   
  10. public abstract BindingElement Clone();   
  11. public abstract T GetProperty(BindingContext context) 
    where T : class;  

BindingElement的核心方法成员有两个:BuildChannelListener和BuildChannelFactory和CanBuildChannelListener

以上就是对WCF绑定元素的相关介绍。

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...