【发布时间】:2010-12-28 13:24:08
【问题描述】:
要实现的目标:
多组用户交互 使用浏览器。
在每个组中,用户将与一些数据(对象)进行交互。
- 数据(对象)是从数据库中加载的。在交互过程中,用户需要对同一数据(对象)进行快速同步的查看,因此必须将它们保存在内存中。
- 数据(对象)在交互过程中会发生变化,但只有此交互的最终结果需要保存回 DB。
我目前的解决方案
将数据(对象)加载到 global.asax 中进行操作。但对于这个解决方案,我有几个问题。
- 如何确保 Web 应用程序只有一个实例?(在 iis-->应用程序池中配置?)
- 因为web应用会自行重启,结果应用状态下的所有数据都会丢失。我怎样才能避免应用程序自行重启而不是管理?
- 在iis应用程序池设置中,我可以设置回收时间,是否保证在此期间不会发生应用程序重启?
或者是否存在可能触发某些事情的事件(在应用程序重新启动之前),以便我可以保存当前应用程序状态并再次加载它们?
或者只有另一种方法可以实现我需要实现的目标?
谢谢
【问题讨论】:
-
一个明显的问题是 - 为什么这些对象需要在内存中?真的有必要吗?这不太可能只是为了速度,因为与请求通过 Internet 所需的时间相比,按需将对象加载到内存中所花费的时间微不足道。