gpt4 book ai didi

.net - 了解 TransactionScopeOptions : RequiresNew = Suppress + Required?

转载 作者:行者123 更新时间:2023-12-03 04:49:31 25 4
gpt4 key购买 nike

我相信我理解 TransactionScopeOption.SuppressTransactionScopeOption.Required 但很难理解 TransactionScopeOption.RequiresNew 的作用。根据我读到的最后一个解释,以下两个代码块在功能上是否相同?这是 RequiresNew 含义的准确表述吗?

using (var ts1 = new TransactionScope(TransactionScopeOption.RequiresNew))
{
DoStuff();
ts1.Complete();
}

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
}

最佳答案

要更好地了解事务范围,您可以阅读 this msdn article

我找不到一个很好的解释,除了创建的嵌套范围的数量不同之外,这两者有何不同。无论交易是否已存在,这两种情况都应导致相同数量的交易。我找不到好的资源可供引用,但我总是会选择 RequiresNew 而不是组合的 Suppress/Required。 RequiresNew 的基本意思是:“无论是否已有交易,都给我一个新交易”。

更新:如果第一个链接仍然损坏,您可以在回溯存档 here 中找到它。

关于.net - 了解 TransactionScopeOptions : RequiresNew = Suppress + Required?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6987862/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com