创建到期的ASP.NET会话值

Tom*_*Tom 4 vb.net asp.net

我想创建一个在5分钟后到期的会话值.

怎么做,我在阅读时需要手动比较创建时间吗?

Session("sessionval") = myvariable
Session("sessioncreated") = now
Run Code Online (Sandbox Code Playgroud)

The*_*TXI 6

如果您询问如何在单个变量上执行此操作,我认为不可能,但您可以使用web.config定义会话超时期限

<system.web>  
    <sessionState timeout="5" />
<system.web>
Run Code Online (Sandbox Code Playgroud)

这会影响所有会话对象,而不仅仅是一个.

我给单个项目提供自定义到期日期的建议是创建一个cookie,这样你就可以实际设置它的到期值.

Response.Cookies.Add(New Web.HttpCookie("AdminID", admin.AdminID))
Response.Cookies("AdminID").Expires = Now.AddMinutes(5)
Run Code Online (Sandbox Code Playgroud)


Can*_*var 4

您无法为会话变量定义自定义超时。

也许您可以使用缓存来实现此目的,并使用依赖于会话的唯一密钥。

您可以为缓存项目设置超时。

Cache.Insert("key_dependent_to_session", value, Nothing, 
  DateTime.Now.AddMinutes(5), TimeSpan.Zero)
Run Code Online (Sandbox Code Playgroud)