我在控制台应用程序中使用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"
由于
答案 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
希望它可以帮到你