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

问题描述:

我在IIS(包括IIS 6和8)上都有一个经典的ASP站点,两者都执行相同的操作。我们在IIS 5,6,7,8上已经有这个问题多年,永远无法解决。我有120分钟的IIS应用程序池设置超时设置。我没有任何ASP代码本身的session.timeout设置。我在global.asa文件中有一个Session.Abandon,运行良好。IIS上的经典ASP - 超时会话未过期

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

我遇到的问题是,大约有5%的时间,有些用户似乎能够在120分钟后保持会话活着。有些几天。

我想知道是否有人有任何想法可能会导致此?我认为可能会导致这一点的一些想法?

  1. 我假设他们让浏览器保持打开状态好几天,但是浏览器窗口打开但闲置的用户可以在同一浏览器的其他TAB上在其他网站上处于活动状态?该活动是否会使我的应用程序的选项卡仍处于活动状态/不空闲状态?我已经在几个环境中测试过这个,但是无法复制。
  2. 某些类型的软件(如URL过滤器,代理服务器或Antivirus)可能导致其浏览器不能闲置?
  3. 当然,如果用户使用超过2小时的应用程序,用户可以保持空闲状态,但他们不太可能这样做,特别是在几天内。

因为用户都是客户,所以很难排除故障。所以我不知道,如果它的某个浏览器,浏览器版本,或他们的网络环境。

任何想法?

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

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

Session.Timeout=20 

希望它能帮助。