如何在asp.net中停止20分钟后暂停会话超时?

我正在使用iis6来部署我的应用程序。 无论我如何更改iis配置中的超时或我添加global.asax文件来设置Session.Timeout,甚至使用会话状态,我仍然会在20分钟后获得会话超时,这太疯狂了! 有人请帮帮我吗? 我很困惑..

web.config中:

                 

在您的web.config文件中包含此内容:

使用web.config

   

使用IIS

在Internet服务管理器中更改以下超时。选择大于默认值20的值。

  1. 选择默认网站>属性>主目录>应用程序设置>配置>选项。

  2. 启用会话状态超时并将会话超时设置为60分钟。

在此处输入图像描述

  1. 选择“应用程序池”>“DefaultAppPool”>“属性”。

  2. 在“空闲超时”下的“性能”选项卡中,将空闲时的关闭工作进程设置为高于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分钟,它的确有效!