IIS 7中的会话超时是如何工作的



在web.config中,我将sessionState中的超时设置为20分钟。根据MSDN的说法,这个超时指定了会话在被放弃之前可以空闲的分钟数。在IIS 7中,DefaultWebSite->会话状态->Cookie设置->超时自动填充为web.config中设置的超时值,在我的情况下为20分钟。此外,应用程序池->DefaultAppPool->高级设置->idleTimeout,我将其设置为10分钟。

然后我做了两个测试:第一次测试:我在下午3:45登录了我的网络应用程序,空闲了10分钟。下午3点55分,我试图使用我的应用程序,但被踢了出去。我认为idleTimeout起了作用。

第二次测试:我在下午4:00登录我的网络应用程序,在下午4:05、4:10、4:15和4:20玩该应用程序。我预计下午4点20分会被踢出球场。但我不是。我认为IIS 7中的会话状态超时(20min)是指在Web代理要求用户重新身份验证之前,用户会话可以处于活动状态的最长时间。从这次测试来看,显然不是。有人能向我解释一下吗?另外,我该如何设置上述情况的超时?

会话超时是一种滑动超时,用户每次访问服务器时都会重置为配置值。

如果在这段时间内没有对应用程序的请求,则应用程序空闲超时将生效。

因此,通常的情况是:

时间 用户A 用户B 会话状态
12:00 访问次数第1页 A: 新会话,超时:20分钟
12:02 访问第2页 A: 超时复位:20分钟
12:10 访问次数第1页 A: 超时:12分钟;B: 新增:20分钟
12:15 访问第2页 A: 超时:07分钟;B: 超时:20分钟
12:22 A: 超时;B: 剩余13分钟
12:32 应用程序关闭(达到空闲时间)
12:35 访问第3页 A: 新会话开始

相关内容

  • 没有找到相关文章

最新更新