WCF中的超时配置

时间:2012-01-31 15:52:57

标签: wcf asp.net-mvc-3 c#-4.0 wcf-binding

对于这种配置,服务实际上只在一分钟内超时,这真的很奇怪。不是“01:00:00”一小时?或者对于不同的超时属性,它使用不同的格式?有这方面的文件吗?谢谢!

<binding name="BasicHttpBindingBigMessages" 
         closeTimeout="00:59:00" 
         openTimeout="00:59:00" 
         receiveTimeout="00:59:00" 
         sendTimeout="00:59:00" 
         allowCookies="false" 
         bypassProxyOnLocal="false" 
         hostNameComparisonMode="StrongWildcard" 
         maxBufferSize="1000000000" 
         maxBufferPoolSize="100000000" 
         maxReceivedMessageSize="1000000000" 
         messageEncoding="Text" 
         textEncoding="utf-8" 
         transferMode="Buffered" 
         useDefaultWebProxy="true">

  <readerQuotas maxDepth="32" 
                maxStringContentLength="819200" 
                maxArrayLength="1638400" 
                maxBytesPerRead="4096" 
                maxNameTableCharCount="16384" />

这是我在调试模式下的代码中看到的错误消息:

  

{“请求通道在01:00:00之后等待回复时超时。增加传递给Request的调用的超时值或增加Binding上的SendTimeout值。分配给此操作的时间可能是超时的一部分。“}

2 个答案:

答案 0 :(得分:1)

您是否可以控制客户端和服务器配置?它可能是服务器上的超时(通过HttpRuntime setting)。

<system.web>
    <!-- Maximum 10 min timeout -->
    <httpRuntime executionTimeout="600" />
</system.web>

答案 1 :(得分:1)

“01:00:00”确实是1小时。

WCF客户端上的默认操作超时为1分钟。您是否正确设置客户端的超时?这可能是暂时的。