用户驱动的会话到期

时间:2011-05-27 08:42:37

标签: c# asp.net iis-7 windows-server-2008

我需要为我的ASP.NET网站用户提供一种控制会话超时的方法。 我使用的是FormsAuthenticationTicketcookies

我想为用户提供一种指定会话保持活动状态的方式。范围可以在几分钟到一天之间变化甚至更长。

我正在使用idleTimeout(我问了一个问题here)。

此外,我将用户输入的值保存在数据库中,并使用该值初始化FormsAuthenticationTicket

我还有两个问题:应用程序池和cookie。我的网站在专用的应用程序池下运行。我是否还需要更改App Pool的idleTimeout属性?当然不是以编程方式。

无论如何,要说出我的问题:无论时间间隔是什么,为了让会话到期动态设置和工作,还需要做哪些其他设置?

感谢。

编辑:我在Windows Server 2008计算机上使用IIS7。

1 个答案:

答案 0 :(得分:4)

将会话时间设置得太长并不是一个好主意,因为您将在服务器上保持一些资源,如果您的Web应用程序被许多不同的用户访问,则可能会影响服务器性能。

无论如何,您只需使用以下代码

以编程方式更改会话时间
Session.TimeOut= [=nMinutes]

请记住,会话超时应小于应用程序池空闲超时,因此如果增加会话超时,则还必须增加应用程序空闲超时。否则,申请将被回收。如果应用程序被回收,会话将自动过期。

允许的最小值为1分钟,最长允许值为1440分钟。