c# - 用户驱动的 session 过期

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

我需要为我的 ASP.NET 网站用户提供一种方法来控制他们的 session 超时。 我正在使用 FormsAuthenticationTicketcookies

我想为用户提供一种方法来指定 session 保持事件状态的时间。范围可以从几分钟到 1 天甚至更长时间不等。

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

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

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

总而言之,我的问题是:无论什么时间间隔,都需要进行哪些其他设置才能动态设置 session 过期并正常工作

谢谢。

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

最佳答案

让 session 超时永远都不是一个好主意,因为这会使服务器上的某些资源一直处于繁忙状态,而且如果您的 Web 应用程序被许多不同的用户访问,这可能会影响服务器性能。

无论如何,您可以使用以下代码以编程方式更改 session 超时

Session.TimeOut= [=nMinutes]

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

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

关于c# - 用户驱动的 session 过期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6149793/

相关文章:

asp.net - 如何将 gridview 控件中的图像彼此相邻对齐

.net - IIS7/VS2010 下的 ASP.NET 部署为 Web 应用程序

c# - 评估存储在字符串中的算术表达式 (C#)

c# - 为什么当变量有值时会报告 "null reference"?

asp.net - Application Insights 日志中的随机值 "Called asynchronously"

c# - 隐藏动态div标签,包含动态输入按钮

iis-7 - ASP 3.0 应用程序对象

asp.net - 使用 IIS7 URL 重写模块将其他域重定向到主 .com 域

c# - 在属性 == true 中查找 List 的总和?

c# - 将具有立方体坐标的六边形移动成正方形