Web服务之间的通信在超时之前就失败了

时间:2017-02-24 14:57:46

标签: c# .net web-services wcf soap

我有两个Web服务: 第一个是REST服务,另一个是SOAP。 进入REST服务web.config我有下一节:

<binding name="BasicHttpBinding_IMyService" sendTimeout="01:00:00"
    receiveTimeout="01:00:00" closeTimeout="01:00:00" openTimeout="01:00:00"
    maxBufferPoolSize="2147483647" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647" >
    <readerQuotas maxDepth="2000000" maxStringContentLength="2147483647" 
     maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
</binding>
<client>
   <endpoint address="THE URL"
        binding="basicHttpBinding" bindingConfiguration="BasicHttpsBinding_IMyService"
        contract="MyWS.IMyService" name="BasicHttpsBinding_IMyService" />
</client>

其中THE URL是SOAP服务的URL。在其中web.config我有:

<system.serviceModel>
    <bindings>
      <basicHttpBinding>
        <binding sendTimeout="01:00:00" receiveTimeout="01:00:00" closeTimeout="01:00:00" openTimeout="01:00:00" maxBufferPoolSize="2147483647" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647">
          <readerQuotas maxDepth="2000000" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
        </binding>
      </basicHttpBinding>
    </bindings>

但是......两个服务之间的连接在5分钟之后失败并出现错误:

  

异常类型:System.TimeoutException

     

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

根据错误,似乎超时值有效,但为什么会发生这种情况? 我想念任何配置吗? 此外,这两种服务都在专用网络中的不同机器上。

谢谢!

0 个答案:

没有答案