问题描述
我在 C# 中有一个长期运行的 TransactionScope.我告诉示波器它应该有很长的时间跨度,但我仍然超时.什么可能导致这种情况?
TransactionOptions transactionOptions = new TransactionOptions();transactionOptions.IsolationLevel = IsolationLevel.ReadCommitted;transactionOptions.Timeout = TimeSpan.MaxValue;使用 (var ts = new TransactionScope(TransactionScopeOption.Required, transactionOptions)){DoLongCode();}
解决方案
您好,您可以在配置文件中验证 maxTimeout,如果您的 web.config 或 app.config 中没有此部分
验证您的 machine.config
<预><代码><配置><system.transactions><machineSettings maxTimeout=""/></system.transactions></配置>调整数值
I have a long running TransactionScope in C#. I told the scope that it should have a long timespan, but still I get a timeout. What could cause this?
TransactionOptions transactionOptions = new TransactionOptions(); transactionOptions.IsolationLevel = IsolationLevel.ReadCommitted; transactionOptions.Timeout = TimeSpan.MaxValue; using (var ts = new TransactionScope(TransactionScopeOption.Required, transactionOptions)) { DoLongCode(); }
解决方案
Hello you can verify maxTimeout in your config file, if you don't have this section on your web.config or app.config
Verify your machine.config
<configuration> <system.transactions> <machineSettings maxTimeout=""/> </system.transactions> </configuration>
Adjust the value