gpt4 book ai didi

c# - 根事务回滚时嵌套事务会回滚吗?

转载 作者:太空狗 更新时间:2023-10-30 00:43:19 24 4
gpt4 key购买 nike

在这段代码中..

public static TransactionScope CreateTransactionScope(bool createNew = false)
{
return new TransactionScope(
createNew ? TransactionScopeOption.RequiresNew : TransactionScopeOption.Required,
new TransactionOptions() { IsolationLevel = IsolationLevel.ReadCommitted });
}

其实,在这个...

using (TransactionScope rootScope = CreateTransactionScope())
{
using (TransactionScope nestedOne = CreateTransactionScope())
{ nestedOne.Complete(); }

using (TransactionScope nestedTwo = CreateTransactionScope(true))
{ nestedTwo.Complete(); }

// No committing, rollback 'rootScope'.
}

哪些事务将与根事务一起回滚 - 是只有 nestedOne 还是同时有 nestedOnenestedTwo

最佳答案

nestedOne 将加入根作用域,因此如果根作用域将回滚,nestedOne 也会回滚,但 nestedTwo 不会,它是一个单独的事务。

就像您具有将事务与封闭事务分开的“RequireNew”选项一样,您可以具有停止该范围的事务的“抑制”选项。

请查看 MSDN 中的以下列表,其中提供了有关事务行为的重要类(class)。 http://msdn.microsoft.com/en-us/library/ms172152(v=vs.90).aspx

关于c# - 根事务回滚时嵌套事务会回滚吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11608130/

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