Jax*_*ian 14 .net transactionscope
我相信我理解TransactionScopeOption.Suppress,TransactionScopeOption.Required但很难理解是什么TransactionScopeOption.RequiresNew.根据我读到的最后一个解释,以下两个代码块在功能上是否相同?这是什么RequiresNew意思的准确表示?
using (var ts1 = new TransactionScope(TransactionScopeOption.RequiresNew))
{
DoStuff();
ts1.Complete();
}
Run Code Online (Sandbox Code Playgroud)
和
using (var ts2 = new TransactionScope(TransactionScopeOptions.Suppress))
{
using (var ts3 = new TransactionScope())
{
DoStuff();
ts3.Complete();
}
ts2.Complete(); // not required but recommended for consistency's sake
}
Run Code Online (Sandbox Code Playgroud)
Edd*_*ddy 14
为了更好地理解事务范围,您可以阅读这篇msdn文章
我找不到一个很好的解释,除了创建的嵌套作用域的数量不同之外,这两者会有什么不同.无论事务是否已存在,这两种情况都应导致相同数量的交易.我找不到一个好的资源来引用,但我会总是去组合Suppress/Required的RequiresNew.RequiresNew基本上意味着:"无论是否已经存在或不存在交易给我一个新的交易".
更新: 如果第一个链接仍然断开,您可以在此处的wayback存档中找到它