Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Multithreading 对于多线程更新的事务超时异常状态,该操作无效_Multithreading_Wcf_Transactions_Timeout_Transactionscope - Fatal编程技术网

Multithreading 对于多线程更新的事务超时异常状态,该操作无效

Multithreading 对于多线程更新的事务超时异常状态,该操作无效,multithreading,wcf,transactions,timeout,transactionscope,Multithreading,Wcf,Transactions,Timeout,Transactionscope,我正在使用以下事务 var transactionScopeOptions = new TransactionOptions() { IsolationLevel = IsolationLevel.ReadUncommitted, Timeout = Timeout = new TimeSpan(0, 10, 0) }; using (TransactionScope transactionScope = new TransactionScope(TransactionScopeOption.R

我正在使用以下事务

var transactionScopeOptions = new TransactionOptions() { IsolationLevel = IsolationLevel.ReadUncommitted, Timeout = Timeout = new TimeSpan(0, 10, 0) };
using (TransactionScope transactionScope = new TransactionScope(TransactionScopeOption.Required, transactionScopeOptions))
{
     /* update query here with data context execute command */
}
我不断得到该操作对于事务的状态无效异常,内部异常为事务超时

在本地,我只有10万分之一的机会,但在服务器上,这种情况时不时发生。应用程序正在MSMQ和WCF上运行

[ServiceBehavior(InstanceContextMode = InstanceContextMode.Single,
                     ConcurrencyMode = ConcurrencyMode.Multiple)]
我尝试了以下方法:

<system.transactions>
  <machineSettings maxTimeout="02:00:00" />
</system.transactions>
虽然我使用的是SQLServer2012和最新的VisualStudio框架,但我不确定它是否有用

编辑:

我还有以下几点:

<system.transactions>
  <machineSettings maxTimeout="02:00:00" />
</system.transactions>
在应用程序配置中:

<system.transactions>
    <defaultSettings timeout="2:00:00" />
</system.transactions>

绑定服务:

<binding  name="FooBinding"
                  deadLetterQueue="System"
                  maxReceivedMessageSize="524288"
                  exactlyOnce="true"
                  receiveErrorHandling="Move"
                  retryCycleDelay="00:00:30"
                  maxRetryCycles="120"
                  receiveRetryCount="0"
                  sendTimeout="00:01:00">


编辑:

我尝试将配置更改为以下内容,希望是WCF超时(默认值为1分钟),但仍然得到这些异常:(将超时延长到10分钟)


我在另一个链接中问了一个问题

<serviceTimeouts transactionTimeout="00:10:00" />
<binding  name="FooBinding"
                      deadLetterQueue="System"
                      maxReceivedMessageSize="524288"
                      exactlyOnce="true"
                      receiveErrorHandling="Move"
                      retryCycleDelay="00:00:30"
                      maxRetryCycles="120"
                      receiveRetryCount="0"
                      closeTimeout="00:10:00"
                      openTimeout="00:10:00"
                      receiveTimeout="00:10:00"
                      sendTimeout="00:10:00" />