浏览器无限期地等待服务器

时间:2009-03-22 18:20:31

标签: asp.net timeout

我遇到了长时间运行的问题。 ASP.NET页面大约需要20分钟才能生成并提供给浏览器。

服务器成功完成响应(根据日志和ASP.NET Web跟踪),我假设将其发送到浏览器。但是,浏览器永远不会收到该页面。它(IE8和Firefox 3两者)保持旋转和旋转(我让它运行几个小时,没有任何反应)。

此问题仅出现在共享主机服务器上。当我在开发机器或内部服务器上运行相同的应用程序时,一切正常。

我尝试过小提琴和数据包嗅探,看起来服务器不会发回任何东西。它甚至不发送保持活动的数据包。然而,我尝试过的两种浏览器在预定义的超时时间之后都没有超时(IE中我认为1小时,不知道它在Firefox中是什么)。

最后一个数据包服务器发送回来自浏览器对POST的ACK。

我在不同的客户端计算机上尝试过此操作,以确保我的计算机上的配置不受破坏。

如何进一步诊断此问题?为什么浏览器没有超时,即使没有保持活动的数据包?

P.S。服务器是Windows 2003,所以IIS6。它曾经在共享主机上正常工作,但它们已经改变了某些东西(当它们移动到新位置时)并且它已经破坏了。试图弄清楚是什么。

p.p.s。我知道我可以改变页面设计,以避免页面花费很长时间才能获得服务。我会这样做,但我也想找到这个问题的原因。我想专注于这个问题,并避免页面可能的替代设计(使用AJAX或其他任何东西)。

2 个答案:

答案 0 :(得分:2)

检查服务器的连接超时(在网站属性页面上)。

更好的方法是发送请求,在服务器上开始计算,并使用Javascript计时器为不断发送请求的页面提供服务。回发后,此页面检查服务器进程是否已完成。当进程仍在运行时,它会响应另一个计时器。完成后,它会重定向到结果。

答案 1 :(得分:0)

您是否会澄清如何解决此问题?看来我有同样的一个。我得到.docx报告,两个浏览器(IE10和Fx37)无限期地等待响应(继续旋转)。 但它在VS2012的IIS Express和我的localhost IIS7上运行良好。 虽然服务器有IIS6.1

当它在localhost上运行时,只需几分钟即可获得报告。