当 TransactionScope 超时时会发生什么

What happens when a TransactionScope times-out

在 C# 中,我使用的是 TransactionScope()。如果 TransactionScope() 超时,事务是被提交还是被回滚?

如 MSDN 上所述,事务中止,即回滚并抛出 TransactionAbortedException 异常。

https://msdn.microsoft.com/en-us/library/ms149852%28v=vs.110%29.aspx https://msdn.microsoft.com/en-us/library/ee818746%28v=vs.110%29.aspx

标准超时值为 10 分钟。如果触发 TransactionScope 超时,事务将回滚。如果你没有提交事务,状态不会改变(ACID原则)。

Wiki 上的 ACID 原则:https://en.wikipedia.org/wiki/ACID

可以使用 maxTimeout 更改 .config 文件中的超时。 https://msdn.microsoft.com/en-us/library/system.transactions.configuration.machinesettingssection.maxtimeout(v=vs.110).aspx