ASP.NET - 会话键值对 (InProc) 上的 TTL



是否有将 TTL 添加到 InProc 会话状态条目 ASP.NET 认可方法?

例:

Session("First", 60) = "John"
Session("Adams", 500) = "Adams"

开箱即用,没有。单个会话状态键值对没有任何用于添加 TTL 或 TTE 的内置方法。

关于"全局"InProc 会话状态超时,它由web.config文件中配置的会话状态范围值(/system.web/sessionState设置中的timeout值)控制。

此外,虽然创建自己的会话状态提供程序可能看起来很有吸引力,但不能使用页面或控制器代码公开的 Session 属性,因为这会返回HttpSessionState对象。任何方法、属性或索引器都不支持使用额外的参数来指定单个会话值超时。

您可以考虑执行以下操作:

  • 为每个用户维护一个活动会话:

    会话("PersistMe") = true

  • 获取会话 ID,并使用它来将值存储在 ASP.NET 缓存中,您可以在其中使用 TTL 值。

最新更新