我想知道的是,如果给定的SQLConnection
在给定的时间内与当前环境事务一起登记,我的意思是,在调试时在手表中放入一些东西,让我知道一个连接是否与当前环境事务一起登记。我正在调试创建TransactionScope
类的多个实例的代码,并且在创建TransactionScope
的新实例之前,代码既不调用TransactionScope.Complete
也不调用TransactionScopeDispose
。因此,如果我能知道给定的SQLConnection
是否包含在当前ambient transaction
中,那将非常有用。
顺便说一句,TransactionScope
不是使用using
语句创建的,因此很难知道阅读代码SQLConnection
属于哪个实例TransactionScope
。
登记的事务存储在SqlInternalConnection
的EnlistedTransaction
字段中。此字段在 EnlistNonNull 方法中设置。您可以通过反射访问该字段。