2009-01-28 73 views
1

我想设置.Net Web应用程序中特定会话变量的超时值,但保留其他Session变量不变。这可能吗?我可以为指定的Session变量设置会话超时而不是其他会话变量

实施例:

我已经5个会话变量

会议(VAR1) 会议(VAR2) 会议(VAR3) 会议(VAR4) 会议(VAR5)

欲设置它以便会话(var1)到会话(var4)的超时时间为8小时(480分钟),但Session(var5)的超时时间为20分钟。可以做到吗?

回答

1

您可以通过在此变量(或关联的时间戳字段)中创建时间戳字段来实现此功能。时间戳记将标记变量变为无效的时间。当然,你将不得不在你的代码中手动处理时间戳(每次点击更新它,并在它失效时从会话中删除它)。

+0

我该怎么办?你能详细说明一些代码示例吗? – Eppz 2009-02-04 20:51:22

1

您需要使用Session的替代方法进行存储。 asp.net的缓存框架可能是最接近的选择。请参阅Adding Items to the Cache

1

您可以提供您自己的HttpSessionStateBase实现,您的版本可以知道它们在会话刷新时可以存储和更改的不同内容。