我有一个没有IIS7托管的数据库的MVC2 Web应用程序。该模型是文件系统某些属性的自定义索引,现在索引存储在内存中。问题是,定期存储在内存中的数据被释放,并且必须重新创建索引。也许最好的解决方案是序列化索引对象并在索引释放时加载它,但如果我可以防止数据进入任何地方就会更简单。
答案 0 :(得分:1)
任何时候在一段时间内没有活动或IIS回收过程你将丢失内存中的任何数据,所以如果你需要这些信息,你需要以某种方式保留它并在以后检索它记忆被清除。
您是否考虑过将此数据保存在持久性xml文件中或序列化为服务器上的文件?
如果它从内存中清除,您可以检查该情况,然后将文件重新加载回应用程序缓存。
答案 1 :(得分:0)
为了让数据能够生存,你必须将它移到IIS的渗透之外 - 这意味着要么是XML存储(在App_Data,隔离存储或其他地方),数据库或服务。
我提到了一项服务,因为虽然它可能有些过分,但我认为这些数据也需要做一些照顾吗?删除过时的条目,添加新的条目,并一般照顾家务?将所有这些内容放入服务允许数据在IIS的限制之外持续存在(但要注意这需要多长时间,因为在某些时候你可能只是重新发明数据库服务器的某些方面)。