如何在asp.net中停止20分钟后暂停会话超时?
我正在使用iis6来部署我的应用程序。 无论我如何更改iis配置中的超时或我添加global.asax文件来设置Session.Timeout,甚至使用会话状态,我仍然会在20分钟后获得会话超时,这太疯狂了! 有人请帮帮我吗? 我很困惑..
web.config中:
在您的web.config文件中包含此内容:
使用web.config
使用IIS
在Internet服务管理器中更改以下超时。选择大于默认值20的值。
-
选择默认网站>属性>主目录>应用程序设置>配置>选项。
-
启用会话状态超时并将会话超时设置为60分钟。
-
选择“应用程序池”>“DefaultAppPool”>“属性”。
-
在“空闲超时”下的“性能”选项卡中,将空闲时的关闭工作进程设置为高于20的值。
IIS上的默认会话超时设置为20分钟,但可以将其增加到最多24小时或1440分钟。
我最近一直在努力解决这个问题。 似乎有很多地方你可以设置超时,但你的超时只会与设置最短的属性一样长。 以下是我发现的一些事情……
-
每个人都建议检查web.config文件中“ sessionState ”节点的“ timeout ”属性。 可以直接在web.config文件中编辑此值,也可以通过@Romil上面描述的IIS配置编辑此值(尽管在更高版本的IIS中UI已更改,但设置类似)。
-
如果您正在实现Forms身份validation,那么web.config文件中还会定义一个额外的超时设置。 在web.config中查找… system.web> authentication> forms节点,并将“ timeout ”属性修改为所需的分钟数。
-
这是我忽略的那个……在IIS中(肯定是7.5版,可能更早,但我无法确认)右键单击相关的应用程序池并选择“ 高级设置 ”。 在“ 过程模型 ”标题下(如果需要,展开),查找“ 空闲超时(分钟) ”设置。 将其设置为所需的超时(分钟)。 – 说明: sessionState> timeout设置会影响将会话ID存储在浏览器中的cookie的到期时间,但此超时实际上决定了何时应关闭工作进程(尚未使用)。 一旦该过程关闭,它就不再回忆现有的会话ID,因此浏览器cookie中的ID不再有用。
我希望这对那里的人有帮助。 这个问题让我疯狂了好几个小时,除了设置sessionState设置之外,我对这方面的信息很少感到惊讶。
祝你好运,G
Romil的答案确实有效,我的方式是我只更改应用程序的会话超时而不是空闲超时。 现在,按照他展示的方式从20分钟延伸到60分钟,它的确有效!