我的 DatabaseClient 类中有代码,通过检查 ThreadStatic 属性 Transaction.Current 检查是否存在活动的 TransactionScope:
if (Transaction.Current == null)
{
// open a new connection and do things
}
我有使用这个类的代码,它创建一个 TransactionScope,执行两个数据库操作,然后完成它。然后应用程序继续进行进一步的数据库工作。但是现在当它调用上面的代码时,我得到了一个异常:
System.InvalidOperationException: The current TransactionScope is already complete.
为了“重置”当前事务,我需要做什么才能再次安全地检查 Transaction.Current?