【问题标题】:Timeout configuration in WCFWCF 中的超时配置
【发布时间】:2012-02-23 08:23:07
【问题描述】:

很奇怪,对于这个配置,服务居然只用了一分钟就超时了。 “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 值。分配给此操作的时间可能已经较长超时的一部分。"}

【问题讨论】:

  • 尝试将 添加到您的服务行为元素中

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


【解决方案1】:

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

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

【讨论】:

  • 谢谢,现在我得到“底层连接已关闭:连接意外关闭。”,知道可能的原因吗?
  • 您的消息/有效负载有多大?
【解决方案2】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-30
    • 2012-02-27
    • 1970-01-01
    • 2013-05-18
    • 1970-01-01
    • 2013-12-14
    相关资源
    最近更新 更多