服务器仅对长请求不响应。基础连接已关闭。读取响应()失败
Server not responding for only long requests. Underlying connection was closed. ReadResponse() failed
我尝试了以下解决方案:
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 响应 header > 设置通用 headers > Enable/Disable HTTP alive
我正在使用以下代码来测试服务器超时问题:
[WebMethod]
public string LongRequest(int delaySeconds)
{
Thread.Sleep(delaySeconds*1000);
return "Delayed for " + delaySeconds + " Seconds";
}
我们有不同的服务器,但这个问题只出现在一台服务器上。
注意!仅当请求超过 40 秒时才会出现此问题。 (这个时间不具体,每次都是增加减少)
问题已解决。我发现服务器交换机被配置为关闭较长的请求。我现在已经使用了服务器的内部 IP(只能从我们的其他服务器访问)。
我尝试了以下解决方案:
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 响应 header > 设置通用 headers > Enable/Disable HTTP alive
我正在使用以下代码来测试服务器超时问题:
[WebMethod]
public string LongRequest(int delaySeconds)
{
Thread.Sleep(delaySeconds*1000);
return "Delayed for " + delaySeconds + " Seconds";
}
我们有不同的服务器,但这个问题只出现在一台服务器上。
注意!仅当请求超过 40 秒时才会出现此问题。 (这个时间不具体,每次都是增加减少)
问题已解决。我发现服务器交换机被配置为关闭较长的请求。我现在已经使用了服务器的内部 IP(只能从我们的其他服务器访问)。