发布多个项目时,SDL Tridion超时

Chr*_*ers 8 sql tridion tridion-2011

使用SDL Tridion 2011 SP1时,当我们对多个项目执行任务时(例如,一次从一个文件夹发布1000个组件),我们有时会收到GUI错误.从同一列表中发布约100个项目非常有效.

我们在CME/GUI中看到的错误如下:

The transaction associated with the current connection has completed
but has not been disposed. The transaction must be disposed before the
connection can be used to execute SQL statements.
Run Code Online (Sandbox Code Playgroud)

Tridion错误日志中的Windows事件查看器中存在其他错误,如下所示:

The socket connection was aborted. This could be caused by an error processing 
    your message or a receive timeout being exceeded by the remote host, or an
    underlying network resource issue. Local socket timeout was
    '10675199.02:48:05.4775807'.
The read operation failed, see inner exception.
The socket connection was aborted. This could be caused by an error processing
    your message or a receive timeout being exceeded by the remote host, or an
    underlying network resource issue. Local socket timeout was
    '10675199.02:48:05.4775807'.
An existing connection was forcibly closed by the remote host
Run Code Online (Sandbox Code Playgroud)

这里使用了哪些超时值,以及如何增加这些超时值?

JRW*_*JRW 12

在%windir%\ Microsoft.NET\Framework64\v4.0.30319\Config\machine.config和%windir%\ Microsoft.NET\Framework\v4.0.30319\Config\machine.config

  • 将allowExeDefinition从"MachineOnly"更改为"MachineToApplication"
  • 在</ configuration>之前添加以下部分

在Tridion\config\Tridion.ContentManager.config中 - 以秒为单位提供transactionTimeout的值<session transactionTimeout ="3600"/>

在Tridion\bin\TcmServiceHost.exe.config中 - 更改CoreService_netTcpBinding绑定

<binding name="CoreService_netTcpBinding" 
transactionFlow="true" 
transactionProtocol="WSAtomicTransaction11" 
maxReceivedMessageSize="2147483647" 
closeTimeout="00:30:00" 
openTimeout="00:30:00" 
receiveTimeout="00:30:00" 
sendTimeout="00:30:00">
Run Code Online (Sandbox Code Playgroud)
  • 在<serviceTimeouts transactionTimeout ="00:30:00"/>之前添加以下内容

在Tridion\web\WebUI\WebRoot\Web.config中 - 更改CoreService_netTcpBinding绑定

<binding name="TcmNetTcpBinding" 
maxBufferSize="2147483647" 
maxReceivedMessageSize="2147483647" 
maxBufferPoolSize="2147483647" 
closeTimeout="00:30:00" 
openTimeout="00:30:00" 
receiveTimeout="00:30:00" 
sendTimeout="00:30:00"
transactionFlow="true" 
transactionProtocol="WSAtomicTransaction11">
Run Code Online (Sandbox Code Playgroud)

这会将您的超时设置为30分钟.