经典的ASP应用程序在浏览器中长时间打开后会挂起

时间:2013-02-20 14:00:16

标签: iis-7 asp-classic

我有一个使用SQL后端的经典ASP应用程序。该应用程序使用Access直到本周早些时候,当我更改它以尝试解决此问题时,无济于事。问题是用户整天都在IE中打开网站,并且在使用之间可能需要一个小时或更长时间。在它打开一段时间后,当他们尝试发出请求时,该网站会挂起并最终显示“页面无法显示”。如果他们点击后退按钮,然后刷新页面,它就可以正常工作。

我刚刚将应用程序池从Integrated更改为Classic,因此可能会修复它,但如果有人有任何其他想法,我欢迎他们。 IIS(7.5)上还有一个其他站点,当用户遇到此挂起时,服务器上没有大量资源使用。

此外,我已针对运行超过3秒的任何内容启用了失败请求跟踪。我得到的日志,当这些发生挂起文件,但他们说,请求返回状态代码200,但它似乎总是在NOTIFY_MODULE_START停止日志 - IsapiModule,通知128,通知EXECUTE_REQUEST_HANDLER。该事件的模块通知在持续时间内显示NO_END。

谢谢,

大卫

2 个答案:

答案 0 :(得分:1)

您可以在Javascript中构建一个背景AJAX / jquery pinger,它每隔5分钟就会刷一次服务器以刷新会话,并且您永远不会被注销。

答案 1 :(得分:0)

在IIS会话超时一段时间后 - 默认为20分钟。

您可以做的是在着陆页上设置会话变量 - 例如

<% Session("Active") = "yes" %>

然后在所有其他页面上都有一个脚本,如果会话超时,则会将您退回到目标网页 - 例如

<% if Session("Active") <> "yes" then 
Response.redirect("mylandingpage.asp")
end if %>