持久控制器成员

时间:2011-11-17 11:26:47

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

我有一个控制器需要保持Dictionary成员的状态。在导航到特定操作时,将创建该用户的条目并将其添加到字典中。我需要一个单独的ajax动作来拉出对象,使用它并将其保存回来,但似乎在两个事件之间我的字典被收集。

现在我已经尝试了很多东西来确保这本词典保持不变但无济于事。作为一项要求,我需要这本字典留在内存中以便快速访问。我知道MVC应该是无状态的,我应该使用不同类型的后备存储。建议?

2 个答案:

答案 0 :(得分:2)

根据您的描述,将字典放入Session应该是一个选项。会话存储具有以下属性:

  • 请求之间保持活跃状态​​。
  • 完全分离不同的用途/会话。
  • 易于设置 - 无需配置数据库或文件。
  • 快速访问,因为它通常在内存中处理。
  • 不适合大量数据。
  • 如果应用程序池被回收(有时会发生),会清除会话存储。

答案 1 :(得分:0)

有许多后备商店可用:

  • 会话
  • 文件
  • 数据库
  • ...

由你来挑选一个。