gpt4 book ai didi

c# - TransactionScope 的层次结构

转载 作者:行者123 更新时间:2023-11-30 14:43:54 27 4
gpt4 key购买 nike

是否可以有事务范围的层次结构?

如果外部事务范围进行处置,内部事务范围内所做的更改会怎样?

我的特殊问题是我有测试代码运行具有事务范围的代码。当我调用具有事务范围的第二组代码时,我得到“无法访问已处置的对象。事务”。难道处理内部事务作用域也在处理外部事务作用域。

最佳答案

我怀疑这是正在发生的事情。如果需要,只要底层技术支持分布式事务,就可以嵌套 TransactionScope。例如,如果您启动一个事务并更新数据库 A 中的一些数据,然后您调用一个函数,并在该函数内部创建一个新的 TransactionScope 并将一些数据插入数据库 B,则内部事务使用“环境”已经打开的交易。但是,要使其正常工作,您需要运行分布式事务处理协调器(对于 SQL Server)。此外,SQL Server 2005 及更高版本能够将事务作为常规事务启动,并在需要时将其提升为分布式事务,而 SQL 2000 会将所有事务作为分布式事务启动,因为它没有能力推广他们。

当您有嵌套事务时,整个事务只有在最外层事务提交后才会提交。

这是 some more info .

看看 TransactionScopeOption;这决定了嵌套事务如何与外部事务交互。

关于c# - TransactionScope 的层次结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1334366/

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