我需要为我的ASP.NET网站用户提供一种控制会话超时的方法。
我使用的是FormsAuthenticationTicket
和cookies
。
我想为用户提供一种指定会话保持活动状态的方式。范围可以在几分钟到一天之间变化甚至更长。
我正在使用idleTimeout
(我问了一个问题here)。
此外,我将用户输入的值保存在数据库中,并使用该值初始化FormsAuthenticationTicket
。
我还有两个问题:应用程序池和cookie。我的网站在专用的应用程序池下运行。我是否还需要更改App Pool的idleTimeout
属性?当然不是以编程方式。
无论如何,要说出我的问题:无论时间间隔是什么,为了让会话到期动态设置和工作,还需要做哪些其他设置?
感谢。
编辑:我在Windows Server 2008计算机上使用IIS7。
答案 0 :(得分:4)
将会话时间设置得太长并不是一个好主意,因为您将在服务器上保持一些资源,如果您的Web应用程序被许多不同的用户访问,则可能会影响服务器性能。
无论如何,您只需使用以下代码
以编程方式更改会话时间Session.TimeOut= [=nMinutes]
请记住,会话超时应小于应用程序池空闲超时,因此如果增加会话超时,则还必须增加应用程序空闲超时。否则,申请将被回收。如果应用程序被回收,会话将自动过期。
允许的最小值为1分钟,最长允许值为1440分钟。