TransactionScope的一点使用心得

 在asp.net中使用TransactionScope进行事务处理时,在同一事务范围内,前一部分代码以参与事务方式对数据库进行操作,后一部分代码以非事务方式对数据库进行操作。最终结果会是后一部分代码执行超时失败。

如下代码所示:

using(TransactionScope scope1 = new TransactionScope())

     
// 事务方式对数据库进行操作

     
using(TransactionScope scope2 = new TransactionScope(TransactionScopeOption.Suppress))
    {
        
// 非事务方式对数据库进行操作
     }
}

注意这里是指同一数据库,为什么会这样呢?我想很有可能是前一步参与事务的操作,将数据库死锁了,而导致后一步无法正常执行,以至于超时。
posted on 2007-09-07 15:31  Leem  阅读(683)  评论(0编辑  收藏  举报