WCF超时这么快

问题描述 投票:0回答:1

我遇到两个解决方案之间的 WCF 通信超时问题。有时,我们会收到以下错误:

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

如您所见,超时发生得非常快——大约 67 毫秒后。但是,我们的绑定配置指定 1 分 30 秒的超时。以下是我们 App.config 中的绑定配置: 这是解决方案之间的端点配置:

<client>
    <endpoint contract="ServiceContract" address="adress" binding="basicHttpBinding" bindingConfiguration="CommonHttpBinding" behaviorConfiguration="Client"/>
</client>

这是我的客户端配置:

<system.net>
  <connectionManagement>
    <add address="*" maxconnection="100" />
  </connectionManagement>
</system.net>

问题:

尽管sendTimeout和receiveTimeout设置为1分30秒,为什么超时错误这么快就出现了?是否还有其他设置可能导致这种快速超时?

任何见解将不胜感激。预先感谢!

c# wcf timeout
1个回答
0
投票

首先你需要确保你的客户端和服务运行在同一个线程上。

根据错误消息,您需要增加sendtimeout或receivetimemout时间。另外,wcf绑定中还有另外两个超时:opentimeout和closetimeout。您可以像这样添加它们:

<bindings>
 <basicHttpBinding>
  <binding name="InTimeout" receiveTimeout="00:01:00" sendTimeout="00:01:00" closeTimeout="00:01:00" openTimeout="00:01:00" >
  </binding>
 </basicHttpBinding>
</bindings>

您也可以参考此链接:WCF 超时

希望对您有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.