增加应用程序池会话时间不起作用

时间:2015-07-08 06:12:34

标签: asp.net asp.net-mvc session iis

在我的项目中,我需要保持会话720分钟,我还使用表格身份验证,设置为1440(会话* 2),当我将其托管到IIS时,会话超时成为默认的20分钟,所以我改变了应用程序池 空闲超时(分钟)到720。这是很多人提出的,那么会话超时也会在20分钟后发生。我不知道为什么会这样。我正在使用IIS(7.5)。任何人请帮助我。我在互联网上搜索了一天以上,我找不到合适的答案 Nb:表单身份验证工作正常

1 个答案:

答案 0 :(得分:5)

网站Session.Timeout仅在小于应用程序池会话超时值时才有效;因为每当达到应用程序池会话超时值时,将重新启动该特定应用程序池。我们有两件事:具有自己的会话超时值的应用程序池,以及也具有其会话超时值的网站。 Microsoft已将参数Session.Timeout指定为更改网站会话超时值。不是应用程序会话超时值。我们必须在这里理解一件事:我们必须确保应用程序池会话超时值始终大于网站会话超时值;只有Session.Timeout参数才能工作;否则,它不会。原因如下:每当达到应用程序会话超时时,将重新启动应用程序池,因为该会话的Session.Timeout将无效。

请检查这些要点并尝试

  Application Pool => Advanced Settings => Process Model => Idle Time-out(minutes)
    Sites => whatever web needs to be set => ASP => Session Properties => Time-out     remember to Apply the change
    Sites => whatever web needs to be set => Configuration Editor => system.web/sessionState => timeout    remember to Apply the change
    Sites => whatever web needs to be set => Configuration Editor => system.web/roleManager => cookieTimeout    remember to Apply the change