zoukankan      html  css  js  c++  java
  • 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();
                }
  • 相关阅读:
    Find cmd
    splitFile2SmallFile
    IPC-->PIPO
    Thread and shared lock
    Python Thread related
    linux 文件系统
    linux commands
    关于 gnome3 无法显示应用程序所有界面的反馈
    Windows 网络编程
    常见端口 HTTP代码
  • 原文地址:https://www.cnblogs.com/May-day/p/8808230.html
Copyright © 2011-2022 走看看