web*_*oob 6 c# transactions transactionscope nested-transactions
我在用:
public class TransactionUtils
{
public static TransactionScope CreateTransactionScope()
{
var TransactionOptions = new TransactionOptions();
TransactionOptions.IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted;
TransactionOptions.Timeout = TimeSpan.MaxValue;
return new TransactionScope(TransactionScopeOption.Required, TransactionOptions);
}
}
Run Code Online (Sandbox Code Playgroud)
创建我的所有交易.我遇到的问题是当我窝2时TransactionUtils.CreateTransactionScope()我得到一个错误:Time-out interval must be less than 2^32-2. Parameter name: dueTm.我假设这是因为它试图将子事务附加到父事务,并且组合的超时很大.
有没有办法判断新创建的事务是否是嵌套事务,这样我可以避免设置超时?
另一种方法是传递一个参数,CreateTransactionScope()所以我可以告诉它它是嵌套的而不是设置超时但我宁愿找到一种自动处理它的方法.
eno*_*l76 28
有一个非常简单的答案:
System.Transactions.Transaction.Current != null
Run Code Online (Sandbox Code Playgroud)
这适用于Framework 2.0.
我不确定为什么另一个答案会如此深入,以创建链接到非公共领域的IL.
| 归档时间: |
|
| 查看次数: |
8805 次 |
| 最近记录: |