我在C#中运行了很长时间的TransactionScope。我告诉示波器它的时间跨度应该很长,但是仍然超时。是什么原因造成的?

TransactionOptions transactionOptions = new TransactionOptions();
transactionOptions.IsolationLevel = IsolationLevel.ReadCommitted;
transactionOptions.Timeout = TimeSpan.MaxValue;
using (var ts = new TransactionScope(TransactionScopeOption.Required, transactionOptions))
{
    DoLongCode();
}

最佳答案

您好,如果您的web.config或app.config中没有此部分,则可以在配置文件中验证maxTimeout

验证您的machine.config

<configuration>
  <system.transactions>
    <machineSettings maxTimeout=""/>
  </system.transactions>
</configuration>

调整值

10-07 22:51