2010-08-25 62 views
0

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

+0

为什么你不能只使用一个数据库? – 2010-08-26 11:59:59

回答

1

任何时候在一定的时间内没有任何活动或IIS回收过程时,您将丢失内存中的任何数据,因此如果您需要这些信息,您将需要以某种方式坚持并检索它当内存被清除时。

您是否考虑过将此数据存储在持久xml文件中或序列化为服务器上的文件?

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

0

为了让数据生存下来,你将不得不将它移到IIS的外面 - 这意味着要么是一个XML存储(在App_Data,独立存储或其他地方),数据库或服务。

我提到了一项服务,因为尽管潜在的矫枉过正,但我​​认为还需要对这些数据进行一些处理。删除陈旧的条目,添加新的条目,并通常照顾家务?把所有这些都放到一个服务中,可以使数据在IIS的限制范围之外持续存在(但是要注意,这样做有多远,因为在某些情况下,您可能只是重新创建了数据库服务器的某些方面)。

相关问题