2017-04-06 28 views
1

我试过以下解决方案:服务器只对长请求没有响应。底层连接已关闭。 ReadResponse()失败

1)增加客户端请求中的超时。

2)增加在web.config中的httpRuntime标签服务器ExecutionTimeout。

3)我一直在使用这两种ASMX和WCF服务的尝试。即使服务器页面需要时间(后面的代码),也会出现错误"ReadResponse() failed: The server did not return a response for this request."

4)从IIS更改应用程序池超时。

5)更改IIS>我的网站> HTTP响应头>设置常用标题>启用/禁用HTTP活着

我使用下面的代码来测试服务器超时问题:

[WebMethod] 
    public string LongRequest(int delaySeconds) 
    { 
     Thread.Sleep(delaySeconds*1000); 
     return "Delayed for " + delaySeconds + " Seconds"; 
    } 

我们有不同的服务器,但是这个问题只出现在一台服务器上。

注意!仅当请求花费超过40秒时才会出现此问题。 (这个时间是不是特异性的,因为它增加而减小每次)

+0

你检查iis服务器日志吗? –

+0

网络问题? – bradbury9

+0

@AntonNorko感谢suggeston.I添加了一个服务器代码登录文本文件,服务器代码甚至2分钟后写日志,但客户端得到周围40秒 –

回答

0

解决的问题。我发现服务器交换机被配置为关闭更长的请求。我现在使用了服务器的内部IP(只能从我们的其他服务器访问)。

相关问题