WCF服务超时

时间:2014-08-20 07:36:11

标签: c# web-services wcf

我在控制台应用程序中使用WCF服务。我有一个服务器方法,它根据作为参数传递的扇区返回公司列表。

流动的代码失败并在5分钟后抛出一个超时异常。

List<Company> companies = EService.GetCompanies(1755);

在app.config中,我已将时间设置为Out:

sendTimeout="23:20:00" receiveTimeout="23:20:00" maxReceivedMessageSize = "1000000000"                        
closeTimeout="23:20:00"

由于

1 个答案:

答案 0 :(得分:1)

嘿在绑定配置中,有四个超时值

<bindings>
 <basicHttpBinding>
  <binding name="InTimeout"
         sendTimeout="00:20:00">
  </binding>
</basicHttpBinding>

最重要的是sendTimeout,它表示客户端等待WCF服务响应的时间。您可以在设置中指定hours:minutes:seconds - 在我的示例中,我将超时设置为25分钟。

顾名思义,openTimeout是您打开与WCF服务的连接时愿意等待的时间。同样,closeTimeout是您在抛出异常之前关闭连接(处置客户端代理)的时间。

receiveTimeout有点像sendTimeout的镜像 - 而发送超时是您等待服务器响应的时间,{{1}是您给客户端接收和处理来自服务器的响应的时间量。

如果您来回发送&#34;正常&#34;消息,两者都可以很短 - 特别是receiveTimeout,因为接收SOAP消息,解密,检查和反序列化它应该几乎没有时间。故事与流式传输不同 - 在这种情况下,您可能需要更多时间在客户端上实际完成下载&#34;您从服务器返回的流。

还有openTimeout,receiveTimeout和closeTimeout。

您也可以引用该链接WCF Timeout

希望它可以帮到你