• transactionscope报“此操作对该事务的状态无效”问题


    一,可能出现事务时间过短造成的问题,这时我们需要延长时间:如下代码

    using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, new TimeSpan(6000000000)))
     {
       //保存内容
     scope.Complete();
     }

    二,可能是由于你调用的方法问题,由于两个方法操作了不同的数据库,这时你就需要事务内嵌,TransactionScopeOption.RequiresNew这个是重点,代码如下

              using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required))
              {
                    Event en = new English();         //这里执行一个操作,读取一个数据库的数据如(DB1)
                    en.Say(); 
                    using (TransactionScope scope2 = new TransactionScope(TransactionScopeOption.RequiresNew))
                    {
                        Event ch = new Chinese();    //这里执行一个操作,读取第二个数据库的数据(DB2)
                        ch.Say();
                        scope2.Complete();
                    }
                    scope.Complete();
                }
  • 相关阅读:
    【原】戏说Java
    git分支branch合并到主分支master
    环境搭建
    zookeeper简单实战
    zookeeper介绍
    临时表与中间表
    避免活跃性
    sss
    sss
    sss
  • 原文地址:https://www.cnblogs.com/May-day/p/8808230.html
Copyright © 2020-2023  润新知