TransactionScope超时时会发生什么

时间:2016-02-16 11:47:44

标签: c# .net transactionscope

在C#中,我正在使用TransactionScope()。如果TransactionScope()超时,事务是否已提交或是否已回滚?

2 个答案:

答案 0 :(得分:0)

如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

答案 1 :(得分:0)

标准超时值为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