深入理解WCF配置可靠性
创始人
2024-06-11 04:10:31
0

WCF还是比较常用的,于是我研究了一下WCF配置可靠性,在这里拿出来和大家分享一下,希望对大家有用。通过编程方式或管理方式都可以WCF配置可靠性(以及有序传递)。如果我们启用了可靠性,则客户端与服务宿主端必须保持一致,否则客户端无法与服务通信。我们可以只对支持它的绑定WCF配置可靠性。例所示的服务端配置文件,使用了绑定配置节,启用了TCP绑定的可靠性。

例:启用TCP绑定的可靠性

  1.  
  2.  
  3.  name = "MyService"> 
  4.  
  5. address  = "net.tcp://localhost:8000/MyService" 
  6. binding  = "netTcpBinding" 
  7. bindingConfiguration = "ReliableTCP" 
  8. contract = "IMyContract"/> 
  9.  
  10.  
  11.  
  12.  
  13.  name = "ReliableTCP"> 
  14.  enabled = "true"/> 
  15.  
  16.  
  17.  
  18.  

至于编程配置方式,TCP绑定和WS绑定提供了略微不同的属性来WCF配置可靠性。例如,NetTcpBinding绑定接受一个Boolean型的构造函数参数,用来启动可靠性:

  1. public class NetTcpBinding : Binding,...  
  2. {  
  3. public NetTcpBinding(...,bool reliableSessionEnabled);  
  4. //更多成员  

我们只能在对象的构造期间启用可靠性。如果通过编程方式设置可靠性,需要创建支持可靠性的绑定对象:

  1. Binding reliableTcpBinding = new NetTcpBinding(...,true);  
  2. NetTcpBinding定义了只读的ReliableSession类,通过它获取可靠性的状态:  
  3. public class ReliableSession  
  4. {  
  5. public TimeSpan InactivityTimeout  
  6. {get;set;}  
  7. public bool Ordered  
  8. {get;set;}  
  9. //更多成员  
  10. }  
  11. public class OptionalReliableSession : ReliableSession  
  12. {  
  13. public bool Enabled  
  14. {get;set;}  
  15. //更多成员  
  16. }  
  17. public class NetTcpBinding : Binding,...  
  18. {  
  19. public OptionalReliableSession ReliableSession  
  20. {get;}  
  21. //更多成员  
  22. }  

#T#理论上,服务代码和契约定义应该与它使用的绑定及属性无关。服务不应该考虑绑定,在服务代码中也不应该包含它所使用的绑定。不管配置的绑定是哪一种,服务都应该能够正常工作。然而实际上,服务的实现或者契约本身都会依赖于消息的有序传递(Ordered Delivery)。为了帮助契约或服务的开发者能够约束支持的绑定,WCF定义了DeliveryRequirementsA。

相关内容

热门资讯

如何允许远程连接到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...