【发布时间】:2012-03-12 05:52:39
【问题描述】:
在 web.config 中,我将 sessionState 中的超时设置为 20 分钟。根据 MSDN,此超时指定会话在被放弃之前可以空闲的分钟数。在 IIS 7 中,DefaultWebSite->Session State->Cookie Settings->Time Out 自动填充了 web.config 中设置的超时值,在我的例子中是 20 分钟。另外,Application Pools->DefaultAppPool->Advanced Settings->idleTimeout,我设置为10分钟。
然后我做了两个测试: 第一次测试:我在下午 3 点 45 分登录了我的网络应用程序,闲置了 10 分钟。下午 3 点 55 分,我尝试使用我的应用程序,但被踢了出去。我认为 idleTimeout 发挥作用。
第二次测试:我在下午 4:00 登录我的网络应用程序,在下午 4:05、下午 4:10、下午 4:15 和下午 4:20 使用该应用程序。我预计会在下午 4 点 20 分被踢出去。但我不是。我认为 IIS 7 中的会话状态超时(20 分钟)是 Web 代理要求用户重新进行身份验证之前用户会话可以处于活动状态的最长时间。显然从这个测试,它不是。谁能给我解释一下?另外,我该如何设置上述情况的超时时间?
【问题讨论】:
标签: asp.net iis-7 timeout session-state