在C#中,我正在使用TransactionScope()。如果TransactionScope()超时,事务是否已提交或是否已回滚?
答案 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