IIS上的经典ASP - 超时会话未到期

时间:2015-03-31 16:59:58

标签: session iis asp-classic timeout

我在IIS上有一个经典的ASP站点(IIS 6和8),两者都执行相同的操作。我们多年来在IIS 5,6,7,8上遇到过这个问题,从来没有想过这个问题。我有超时设置120分钟的IIS应用程序池设置。我没有任何ASP代码本身的session.timeout设置。我在global.asa文件中有一个Session.Abandon,效果很好。

大多数情况下,如果用户闲置> 120分钟,它给他们一个消息,他们的会话已超时,会话到期并将他们重定向回登录页面..这是它应该如何工作,大部分时间都是。

我遇到的问题是大约5%的时间,一些用户似乎能够使会话保持超过120分钟。有些人好几天了。

我想知道是否有人有任何想法可能导致这种情况?我认为有些想法会导致这个问题吗?

  1. 我假设他们的浏览器开放了几天,但是有一个浏览器窗口打开但是闲置并且在同一浏览器的另一个TAB上的用户可以在其他网站上活动吗?该活动是否使我的应用程序的TAB仍处于活动状态/不处于空闲状态?我已在多个环境中对此进行了测试,但无法复制。
  2. 某些类型的软件,如网址过滤器,代理服务器或防病毒软件,可能导致其浏览器无法闲置?
  3. 当然,如果用户在超过2小时的时间内使用该应用程序,则可以保持会话空闲,但是他们不太可能这样做,特别是在几天内。
  4. 由于用户都是客户,因此难以排除故障。所以我不知道它是某个浏览器,浏览器版本还是他们的网络环境。

    有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您是否已尝试在global.asa中的 Application_OnStart 方法中设置超时?

我遇到了类似的问题,但在我的情况下,会话在超时前结束。 设置超时后问题解决了,只包括这一行:

Session.Timeout=20

希望它有所帮助。