iis - 在两个 IIS 应用程序之间共享 HttpRuntime.Cache

标签 iis httpruntime.cache

我在 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/

相关文章:

iis - win10、iis10无法启动,w3svc服务启动失败

HttpPost 操作中的 ASP.Net Core CreatedAtAction 返回 201,但整个请求以 500 结束

c++ - 服务器变量 UNENCODED_URL 包含奇怪的值而不是编码斜线

javascript - 如何更改 "parent"帧的 URL?

asp.net - HttpRuntime缓存和HttpContext缓存之间有什么区别?

c# - HttpRuntime 缓存中项目的有效期是多长...?

c# - HttpRuntime.Cache.Remove 不删除缓存

c# - Null 作为 HttpRuntime.Cache.Add 中的值

c# - 在 IIS 7.5 中托管时的自定义 WCF 登录页面