恢复会话的最佳方式?

时间:2012-02-19 13:07:47

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

我的网络应用程序过早到期会出现问题(对于我正在开发的系统类型来说,这并不是意料之外的太快)。我的主机不允许更改会话到期时间。

所以我在想,有没有办法可以(例如在ASP .NET MVC中)保存表单中的会话变量,这样当表单以某种方式提交或页面发生变化时,我可以重置会话变量?

但是根据上述理论(如果它甚至是一个好的理论),那么如何在我的控制器中处理这些东西呢?或者是否有更好的方法来达到理论上无限的会话?

2 个答案:

答案 0 :(得分:3)

您所描述的是Cookie的标准用例。 如果你的变量不需要是安全的,那么将每个变量保存在一个cookie中(或者,如果你想做正确的话,有一个你在cookie中序列化的“会话对象”)。

如果您的变量需要是安全的,请将它们保存在数据库或平面文件中,并将加密的行ID保存在cookie中。

答案 1 :(得分:2)

您无法检索会话。一旦消失,它就消失了(出于安全考虑,这很好)。

但是,您可以使会话过期:

http://weblogs.asp.net/stevewellens/archive/2009/06/09/ah-ah-ah-ah-staying-alive-staying-alive.aspx