TransactionTimeout无法正常工作

时间:2012-04-28 11:24:17

标签: c# transactions

using (TransactionScope transaction = TransactionScopeManager.GetTransactionScope(Settings.Import.TimeOut))
{
    Logger.Trace.DebugFormat("Import Deduction timeout: <{0}>", Settings.Import.TimeOut);
    //Logger shows "Import Deduction timeout: <30>"
    //more code
}

但交易总是只运行10分钟。 我改变了部分:

 <system.transactions>
     <machineSettings maxTimeout=″01:30:00″/>
 </system.transactions>

但是10分钟后它仍然会继续失败。 为什么呢?

请帮助。

1 个答案:

答案 0 :(得分:1)

根据http://msdn.microsoft.com/en-us/library/ms149852(v=vs.90).aspx

  

在机器配置中,有一个限制超时的值。通过   默认情况下,它是10分钟。因此,如果您设置超时大于10   分钟,在System.Transactions中,你的值将被忽略而且   系统将表现为超时为10分钟。

     

请参阅   http://msdn.microsoft.com/en-us/library/system.transactions.configuration.machinesettingssection.maxtimeout.aspx   和

     

http://social.msdn.microsoft.com/Forums/en-US/windowstransactionsprogramming/thread/ba508c2b-af91-490c-a05c-e4bf92f81cc6   和

     

http://blogs.msdn.com/ajit/archive/2008/06/18/override-the-system-transactions-default-timeout-of-10-minutes-in-the-code.aspx