【发布时间】:2011-07-06 06:09:09
【问题描述】:
我正在尝试在 .Net 中实现缓存,这样缓存的数据不仅可以由可能在同一台机器上运行多次的应用程序访问,而且可以由可能在该机器上运行的其他类型的应用程序访问。它们可以是 Windows 服务、Web 服务、win 表单等。
我已经将 System.Runtime.Caching(因为企业应用程序块缓存将变得过时)作为实现此目的的一种手段。默认的 MemoryCache 不足以实现这一点,因为我不相信它可以跨应用程序域工作。
有没有一种方法可以实现我正在寻找的那种缓存,或者是否有某种缓存 dll(必须是免费的)可以用来实现我的目标?
有没有办法将 System.Runtime.Caching 与作用域为 MachineLevel 的 IsolatedStorage 结合使用?
我也看过 memcache 并且不能使用它,因为我们需要它在 Windows 机器上运行。我开始查看 SharedCache (http://www.codeproject.com/KB/web-cache/AdvanceCaching.aspx) 并对它的缺陷感到好奇。
谢谢。
-- 修订版 1--
我认为对我来说最佳解决方案是将 缓存 对象用于 内存映射文件 (http://msdn.microsoft.com/en-us/library /dd997372.aspx)。所以我现在的问题是是否有人使用 System.Runtime.Caching 对象做到了这一点。如有必要,必须有一种扩展它的方法......如何做到这一点的例子也将不胜感激。
【问题讨论】: