在c#中更改会话变量超时

时间:2013-06-26 12:31:09

标签: c# asp.net .net asp.net-mvc session

我有一个asp.net mvc应用程序,我在其中使用session属性:

Session["id"] = id;

我的问题是属性超时,我希望无限制,直到它更改为另一个值。现在,当计时器到期时(30秒),Session["id"]null作为值。

最好的方法是什么?

3 个答案:

答案 0 :(得分:4)

默认会话超时设置为20分钟。根据{{​​3}}:

  

HttpSessionState.Timeout属性获取并设置时间量   会话状态提供者之前的请求之间允许的分钟数   终止会话。

请记住会话不是缓存!如果您希望能够定义变量的过期策略,请改用this MSDN article

答案 1 :(得分:2)

在网络配置的sessionState中设置超时值。 正如评论所说,这并不是最好的地方。

答案 2 :(得分:1)

会话超时设置适用于整个会话而非特定变量。

我可以想到两个选择:

1-会话超时到期正在滑动。所以为了防止它和你的会话变量过期,在一段时间内调用会话,例如每20分钟一次(例如,当会话超时为30时)。

2-更好的解决方案是使用cookie,如果信息不敏感的话。

检查这些链接可能很有用++++