WCF服务返回超时错误,如下所示。
XX:XX:XX增加绑定时的发送超时值后,请求通道在等待答复时超时。分配给该操作的时间可能是较长超时的一部分
但是浏览我的网站时,我在1分钟内收到此错误。我已经提到在绑定配置(web.config)中将超时值设置为00:10:00(10分钟)。
相同的服务正在我的本地系统中运行,但是当我托管在服务器中时,却遇到了这个问题。 正如我观察到的那样,SQL查询大约需要1分钟:在服务器上执行需要20秒的时间。
我需要更新那些发送超时值的地方吗?
关于这个,你能建议我吗?
谢谢。
答案 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>
请随时让我知道问题是否仍然存在。