深入理解WCF配置可靠性

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

成都创新互联服务紧随时代发展步伐,进行技术革新和技术进步,经过10年的发展和积累,已经汇集了一批资深网站策划师、设计师、专业的网站实施团队以及高素质售后服务人员,并且完全形成了一套成熟的业务流程,能够完全依照客户要求对网站进行成都网站制作、网站设计、外贸网站建设、建设、维护、更新和改版,实现客户网站对外宣传展示的首要目的,并为客户企业品牌互联网化提供全面的解决方案。

例:启用TCP绑定的可靠性

 
 
  1.  name = "MyService">
  2. address  = "net.tcp://localhost:8000/MyService"
  3. binding  = "netTcpBinding"
  4. bindingConfiguration = "ReliableTCP"
  5. contract = "IMyContract"/>
  6.  name = "ReliableTCP">
  7.  enabled = "true"/>

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

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

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

 
 
  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。

分享题目:深入理解WCF配置可靠性
标题路径:http://www.mswzjz.cn/qtweb/news43/276893.html

攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能