【问题标题】:How to keep data in memory in asp.net MVC2 web app?如何将数据保存在 asp.net MVC2 Web 应用程序的内存中?
【发布时间】:2010-08-25 18:54:13
【问题描述】:

我有一个没有由 IIS7 托管的数据库的 MVC2 Web 应用程序。该模型是文件系统某些属性的自定义索引,现在该索引存储在内存中。问题在于,存储在内存中的数据会定期被释放,并且必须重新创建索引。也许最好的解决方案是序列化索引对象并在索引被释放时加载它,但如果我可以阻止数据去任何地方会简单得多。

【问题讨论】:

  • 为什么不能只使用数据库?

标签: .net asp.net-mvc iis asp.net-mvc-2


【解决方案1】:

在一段时间内没有任何活动或 IIS 回收进程时,您将丢失内存中的任何数据,因此如果您需要该信息,则需要以某种方式持久保存它并在何时检索它内存被清除了。

您是否考虑过将这些数据保存在持久性 xml 文件中或序列化到服务器上的文件中?

如果它从内存中清除,您可以检查这种情况,然后将文件重新加载回应用程序缓存。

【讨论】:

    【解决方案2】:

    为了让数据能够继续存在,您必须将其移出 IIS 的权限 - 这意味着 XML 存储(在 App_Data、独立存储或其他地方)、数据库或服务。

    我之所以提到一项服务,是因为虽然它可能有点矫枉过正,但我​​认为还需要对这些数据进行一些处理?删除陈旧的条目,添加新的条目并通常照顾家务?将所有这些都放入服务中可以使数据在 IIS 的限制之外持续存在(但要注意这会走多远,因为在某些时候您可能只是在重新发明数据库服务器的某些方面)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-27
      相关资源
      最近更新 更多