【发布时间】:2014-03-26 21:58:02
【问题描述】:
我经常在我的应用程序中显示一个用于浏览或管理目的的对象列表。用户搜索数据库并根据他的请求获取对象列表。
我想知道是否有一种安全的方法可以使这些对象列表在新会话中继续存在。据我所知,在 ASP.NET MVC 中,当创建新会话时(无论是因为进行了重定向还是创建了新类,无论是什么原因),静态变量或类似的数据结构(例如:Session[ "listObjects"]) 因为新会话而清空了它们的值。
这是一个问题,因为我想避免在数据库中注册东西,因为此时没有必要。在向数据库提交任何更改之前,我经常需要进行多达 5 或 6 次不同的调用,有时这会创建新条目但我仍然需要显示旧列表,同时它会被刷新。
那么除了将它们存储在数据库中之外,还有什么方法可以使数据在新会话中存活或持久化?
【问题讨论】:
-
缓存对象列表是另一种选择,而不是将它们存储在会话中。例如,使用 NCache。
-
您是否在会话信息中缓存所有用户真正通用的信息?
-
嗯,我不知道缓存是如何工作的。我现在正在探索这个。这是常见的数据,非常简单(例如:电子商务的项目列表),我只是希望这些数据保持“活跃”的时间比会话可能允许的时间长。
标签: c# asp.net asp.net-mvc session