我在 IIS 中有两个 ASP.NET 2.0 应用程序;公共(public)预订系统和管理价格的管理系统。有一个访问数据库的共享 DLL 项目,供两个应用程序使用。
为了提高性能,价格被缓存在 DLL 代码中,以节省每次请求时访问数据库的时间。但是,当管理员更改价格时,缓存会在管理应用程序上刷新(显然它不会在公共(public)应用程序上刷新)
所以,对于这个问题。是否可以配置 IIS 使这两个应用程序共享 HttpRuntime.Cache?如果是这样,它应该如何设置?
最佳答案
这将超越拥有两个应用程序的意义——它们不应该共享同一个 DLL 内存堆,这是需要的。您需要的是两者之间的通信 channel ,并让管理网页通知缓存的更改 - 这将导致刷新。
可能是一些简单的事情,但也许您发布的一个简单页面会导致缓存检查更新?或者 - 让应用程序根据时间戳不时检查更新。
(另一种选择是创建缓存所在的服务,但我认为这超出了简单解决方案的范围)
关于iis - 在两个 IIS 应用程序之间共享 HttpRuntime.Cache,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1244105/