三分钟了解WCF事务
创始人
2024-06-11 03:00:59
0

经过长时间学习WCF,对它还是很熟悉的,这里就和大家分享一下关于WCF事务的概念,看完本文你肯定有不少收获,希望本文能教会你更多东西。两个应用程序之间的通信有很多种方式,比如,我们可以使用XML与Webservice通信,使用消息与MSMQ互通,使用XML或二进制流与.NetRemoting通信等等。

#T#但是如果一个应用程序需要同时使用这几种来完成功能的话将给维护带来相当大的麻烦,WCF的出现则统一了这种局面,WCF是什么?WCF是通过一种面向服务的新型编程模型简化了关联应用程序的开发。通过提供分层的体系结构,WCF 支持多种风格的分布式应用程序开发。 WCF 通道体系结构在底层提供了异步的非类型化消息传递基元。而建立在此基础之上的是用于进行安全可靠的事务处理数据交换的各种协议功能,以及广泛的传输协议和编码选择。WCF事务原本是一件难于实现的事情,可WCF总是能化腐朽为神奇,它能够通过简单的声明式编程方式,便可以实现分布式的WCF事务,下面就来看下实现此目标的功臣:
1)  TransactionFlowAttribute:操作契约(OperationContractAttribute)的一个属性,它能够指示所属操作(Operation)的事务选项(TransactionFlowOption)。
2)  TransactionFlowOption:它是TransactionFlowAttribute构造函数中的参数,是一个枚举(enum),包括三个枚举项NotAllowed:不允许事务,是缺省值;Allowed:允许事务,意味着事务可有可无;Mandatory:强制事务,表示事务是必须的。
3) TransactionAutoCompleteOnSessionClose:它是操作行为(OperationBehaviorAttribute) 的一个属性,用于标注事务完成之后,服务端实例是否自动释放,这个属性和服务对象实例模式紧密相关,使用的时候,应该着重小心,下面也会有说明。
4) TransactionIsolationLevel:也是操作行为(OperationBehaviorAttribute)的一个属性,用于指示事务隔离方式(isolation level).包括5中选项:Any,ReadUncommitted,ReadCommitted,RepeatableRead,Serializable,事务的隔离方式相关知识比较复杂,留作文章的第二点中将具体阐述
5) TransactionTimeout:也是操作行为(OperationBehaviorAttribute)的一个属性,用于指示事务的超时时间,默认为TimeSpan.Zero,表示不会受超时时间的限制..:: OperationBehaviorAttribute:也是操作行为(OperationBehaviorAttribute)的一个属性,用于指示分布式事务选项,如果设置为true,那么必须在事务范围(Transaction Scorp)内。

 通过上面几个属性的使用,我们便能够轻松的在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...