获取超时错误-绑定时增加发送超时值

时间:2019-03-06 23:13:13

标签: c# sql-server wcf iis-7 connection-timeout

WCF服务返回超时错误,如下所示。

XX:XX:XX增加绑定时的发送超时值后,请求通道在等待答复时超时。分配给该操作的时间可能是较长超时的一部分

enter image description here

但是浏览我的网站时,我在1分钟内收到此错误。我已经提到在绑定配置(web.config)中将超时值设置为00:10:00(10分钟)。

相同的服务正在我的本地系统中运行,但是当我托管在服务器中时,却遇到了这个问题。 正如我观察到的那样,SQL查询大约需要1分钟:在服务器上执行需要20秒的时间。

我需要更新那些发送超时值的地方吗?

关于这个,你能建议我吗?
谢谢。

2 个答案:

答案 0 :(得分:0)

发生此错误是因为客户端(而非服务端)的发送超时已超时。发送超时是在与客户端端点关联的绑定的<binding/>元素上配置的。

在发送超时到期之前,必须完成整个往返过程(从客户端到服务器,服务端处理以及返回到客户端的回程)。

答案 1 :(得分:0)

这通常不是由WCF连接超时引起的,而是由其他问题(例如服务器和客户端上的绑定配置问题,数据库连接失败)引起的响应缓慢所导致的。尝试检查数据库连接字符串以及WCF运行帐户是否具有连接到数据库的权限。
考虑以下配置。

<binding name="http" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" maxBufferSize="2147483647" sendTimeout="00:10:00" receiveTimeout="00:10:00">
      <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" />
    </binding>
  </webHttpBinding>
</bindings>
<behaviors>
  <serviceBehaviors>
    <behavior>
      <dataContractSerializer maxItemsInObjectGraph="2147483647"/>
      <serviceMetadata httpsGetEnabled="true" httpGetEnabled="true"/>
      <serviceDebug includeExceptionDetailInFaults="false"/>          
    </behavior>
  </serviceBehaviors>
</behaviors>

请随时让我知道问题是否仍然存在。

相关问题