在父事务范围中,我的TransactionScopeOption为Required。
稍后在内部事务范围中,我需要检查父事务范围的TransactionScopeOption。
这怎么可能......
示例
Parent : using (TransactionScope transactionScopeParent = new TransactionScope(TransactionScopeOption.Required, transactionOptions))
{
....
method()
}
method()
{
here i need to check the TransactionScopeOption of this transaction scope's parent one and then set this transaction scope to be having the same TransactionScopeOption.
using (TransactionScope transactionScopeChild = new TransactionScope(TransactionScopeOption.Required, transactionOptions))
}
这是可能的。
答案 0 :(得分:0)
这不是必需的。
如果“父级”TransactionScope
为Required
,则嵌套式帐户将在已注册的交易中注册。
如果不是,嵌套的将不会自动变为“必需”。
唯一的例外是,如果您在新事务开始时将嵌套TransactionScope
显式设置为RequiresNew
。
答案 1 :(得分:0)
从您对@ Oded的答案的评论来看,您似乎想要
System.Transactions.Transaction
s 要获得该行为,您只需要附加
AutoEnlist = FALSE;
如果
AutoEnlist
设置为true
,这是默认连接 使用TransactionScope
打开参与此范围,它提交 当范围提交并回滚时TransactionScope
没有 承诺。但是,此功能被认为是安全敏感的 因此不能在中等信任环境中使用。