也许这个问题是错的,但这是我想要实现的,也许还有其他方法可以做到。
我有一个运行.net 3.5的ASP.NET应用程序,有一个客户端列表和一些其他基于列表的对象,这些对象在应用程序的所有用户之间共享。即。当客户端登录时,他的userID和一些其他属性被保存在应用程序状态下的某个列表中。问题是这个应用程序很繁重,它的应用程序池需要每天重新启动一次,所以保存在这些列表对象中的所有信息都会丢失。同时保存在外部服务器上以进程外模式保存的客户个人数据。
有什么办法可以解决这个问题吗?共享会话?差不多吧。
请不要使用MSSQL解决方案...
干杯,专业人士!
发布于 2009-11-05 19:34:45
您是否考虑过缓存数据列表?
这篇SO文章有一些很好的细节。
发布于 2009-11-05 19:37:54
您应该只使用Application State作为其他地方持久化数据的缓存。然后,您可以使用Application_Start或一些延迟加载包装器类将这些持久数据检索到应用程序对象中。
如果您存储的易失性数据没有持久保存在应用程序对象中的其他位置,那么您就有麻烦了。希望您能够将对应用程序对象的访问抽象到某个包装器对象后面,以便所有代码都访问包装器,而不是应用程序对象。现在,您需要确保将修改保存在其他位置,以便可以在重启时恢复它们。
坦率地说,Application state对象确实有助于移植ASP-Classic站点。由于您实际上应该将应用程序状态视为缓存,因此它与ASP.NET缓存对象在功能上存在重叠。
https://stackoverflow.com/questions/1679931
复制相似问题