ADO.NET分布式事务处理

事务具有“原子性”,即要么全部成功,要么全部失败。

 

这里记录用TransactionScope来实现分布式事务

步骤:

第一步:在服务中开启MSDTC(Distributed Transaction Coordinator),注意在调用ADO.NET的客户端和数据库服务器端都需要开启。

第二步:在项目中添加对System.Transactions的引用,然后将数据库操作的代码放在如下位置即可

using(TransactionScope ts=new TransactionScope ())

{

     //...
     //数据库操作一...
     //数据库操作二...
     //...
     ts.Complete();
}

 

TransactionScope也可以实现嵌套事务,也就是A调用B,B中声明了TransactionScope,A中也声明了TransactionScope,这样如果B没错,但是A中调完了B后出错了,则B中的数据库操作也回滚。

posted on 2013-01-10 15:26  DeltaCat  阅读(213)  评论(0)    收藏  举报