C#事务处理(三)之Transactions事务

来源:互联网 发布:软件的缺陷等级 编辑:程序博客网 时间:2024/06/10 04:31

自.NET 2.0以来增加了System.Transactions命名空间,为.NET应用程序带来了一个新的事务编程模型。

这个名称空间提供了几个依赖的TransactionXXX类。Transaction是所有事务处理类的基类,并定义了所有事务类可以使用的属性,方法,和事件。CommittableTransaction是唯一一个支持提交的事务类。这一个类有一个Commit方法,所有其他事务类都只能执行回滚。DependentTransaction类用于依赖于其他事务的事务。依赖的事务可以依赖从可提交的事务中创建的事务。不管事务处理是否成功,都把依赖的事务添加到可提交的事务的结果中。SubordinateTransaction类和分布式事务协调器(DTC)一起使用,至二个类表示非根事务。但可以由DTC管理。

Transation类的成员 说明 Current Current属性是一个静态属性,不需要有实例。Transaction.Current返回一个环境事务处理(如果存在)。环境事务处理在后面讨论 IsolationLevel IsolationLevel属性返回一个IsolationLevel类型的对象。IsolationLevel是一个枚举,它定义了其他事务必须有什么访问权限才能访问事务的临时的结果。它会影响ACID中的I,并不是所有的事务处理都是隔离。 TransactionInformation 该属性返回一个 TransactionInformation对象,该对象提供了事务的当前状态信息,事务的创建时间和事务标示符 EnlistVolatile(),EnlistDurable,EnlistPromotableSinglePhase 使用登记方法可以登记参与事务处理的自定义资源管理器 Rollback 使用Rollback方法,可以终止一个事务,撤销所有的改变,把所有的结果设置为事务处理之前的状态。 DependClone 可以创建一个依赖当前事务的事务 TransactionCompleted 是一个事件,在事务完成时触发–事务可能成功,也可能失败。

实例看

http://blog.csdn.net/younghaiqing/article/details/62039794

0 0