transactionscope报“此操作对该事务的状态无效”问题
Posted 叶丶梓轩
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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(); }
以上是关于transactionscope报“此操作对该事务的状态无效”问题的主要内容,如果未能解决你的问题,请参考以下文章
TransactionScope 事务 = new TransactionScope() VS TransactionScope s = context.Connection.BeginTransac