【发布时间】:2009-03-22 18:20:31
【问题描述】:
我对长时间运行的页面有疑问。 ASP.NET 页面大约需要 20 分钟才能生成并提供给浏览器。
服务器成功完成响应(根据日志和 ASP.NET Web 跟踪),我假设将其发送到浏览器。但是,浏览器永远不会收到该页面。它(IE8 和 Firefox 3 两者)一直在旋转和旋转(我已经让它运行了几个小时,没有任何反应)。
此问题仅出现在共享主机服务器上。当我在开发机器或内部服务器上运行相同的应用程序时,一切正常。
我已经尝试过 fiddler 和数据包嗅探,看起来服务器没有发回任何东西。它甚至不发送保持活动的数据包。然而,我尝试过的两种浏览器都不会在预定义的超时期限后超时(我相信在 IE 中为 1 小时,在 Firefox 中不确定它是什么)。
最后一个数据包服务器从浏览器返回给 POST 的 ACK。
我已经在不同的客户端机器上尝试过这个,以确保它不是我机器上的损坏配置。
如何进一步诊断此问题?为什么浏览器没有超时,即使没有保活数据包?
附言服务器是Windows 2003,所以IIS6。它曾经在共享主机上运行良好,但他们改变了一些东西(当他们搬到新位置时)并且它坏了。试图弄清楚是什么。
p.p.s.我知道我可以更改页面设计以避免页面花费这么长时间才能获得服务。我会这样做,但我也想找到这个问题的原因。我想继续关注这个问题,并避免页面可能的替代设计(使用 AJAX 或其他任何方式)。
【问题讨论】: