我有一组相当复杂的 ASP MVC 控件,用于设置数据过滤器(帐户 ID 范围、成本范围、运营商、日期等)。这也创建了一个具有标准结果集类型对象的数据表对象。
用户可能想离开页面然后回来。我想恢复以前的过滤器控制状态并拉出当前的结果集。
存储用户会话状态的标准 ASP MVC 方法是什么?我确实可以访问 SQLServer 数据库。一种想法是将过滤视图对象和当前结果存储在缓存中。
我不需要恢复会话访问之间的状态(他们关闭浏览器并在另一个时间回来。)
我有一组相当复杂的 ASP MVC 控件,用于设置数据过滤器(帐户 ID 范围、成本范围、运营商、日期等)。这也创建了一个具有标准结果集类型对象的数据表对象。
用户可能想离开页面然后回来。我想恢复以前的过滤器控制状态并拉出当前的结果集。
存储用户会话状态的标准 ASP MVC 方法是什么?我确实可以访问 SQLServer 数据库。一种想法是将过滤视图对象和当前结果存储在缓存中。
我不需要恢复会话访问之间的状态(他们关闭浏览器并在另一个时间回来。)
存储会话状态是正确的关键词。
http://msdn.microsoft.com/en-us/library/ms972429.aspx
http://www.devarticles.com/c/a/ASP/Maintaining-Session-State-With-ASP/
您需要简单地获取会话状态变量并以某种方式存储它,然后以某种方式检索它。这可能需要做很多工作,并且可能有一种内置的方式来实现它,因为您那里有一个 MS SQL Server。但我不知道如何连接这些东西,所以我会将会话对象写入连接到数据库的对象流。您可以稍后查询。
编辑:另一方面,既然你说你不需要在访问之间恢复它,也许你只是想让这个的租约期限比它长得多。听起来他们正在超时?告诉它再挂上几个小时的连接。除非他们关闭页面,否则如果浏览器删除了 cookie,他们将在前面重新登录。
我相信您只想保留过滤器值而不是查询结果,对吗?如果是这样,您可能希望将它们保存到字符串并将它们保存在 cookie 中。您也可以使用 asp 会话。session 有一些可扩展性的缺点,但它通常是最简单的选择。