首页 新闻 会员 周边 捐助

asp.net 多层架构的事务回滚

0
悬赏园豆:5 [已解决问题] 解决于 2013-03-01 17:34

在逻辑层的一个操作中有步骤1,2,3。如果步骤2异常需要步骤1回滚。这个怎么实现?

以前看到有项目会在步骤3尾部有一个自己的方法。想了很久也没弄明白怎么实现。

王者永乐的主页 王者永乐 | 初学一级 | 园豆:29
提问于:2013-02-17 14:53
< >
分享
最佳答案
0

TransactionScope可以解决你的问题。

补充:另一种方法是可以在数据访问层定义一个DbTransaction对象在业务层调用,把步骤1、2、3放在try里,在catch里回滚。注意步骤1、2、3要调用同一个DbTransaction对象。

收获园豆:5
guwoow | 小虾三级 |园豆:611 | 2013-02-19 10:31
其他回答(4)
0

应该上把步骤1的事务回滚放在步骤2的catch{}里面

Yu | 园豆:12990 (专家六级) | 2013-02-17 15:17
0

如果不需要像数据库那样级别的事务,就写在步骤2的catch中吧

chenping2008 | 园豆:9836 (大侠五级) | 2013-02-17 16:27
0

mark

水墨.MR.H | 园豆:280 (菜鸟二级) | 2013-02-17 18:16
0

首先你要说清楚具体的3个步骤执行动作,因为不同的动作会有不同意义;而且事务回滚主要是针对执行数据库的那段代码;如果执行有问题就回滚回去,前提是把这段代码catch住它的异常!

秋风过、枯叶落 | 园豆:228 (菜鸟二级) | 2013-02-18 13:39
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册