我有一个服务,我想使用MemoryCache,但是,我的一个要求是我需要能够在不停止服务的情况下手动清除所述MemoryCache。
目前我们正在使用企业库中的CacheManager(使用独立存储,所以我认为它在内存中,然后在需要时转储到文件中),我们通过删除文件手动清除缓存。关于如何使用新的缓存库进行类似操作的任何想法?
谢谢!
答案 0 :(得分:2)
听起来您使用Enterprise Library的当前缓存具有文件系统依赖性。您可以通过将HostFileChangeMonitor与每个缓存项相关联来对MemoryCache执行相同的操作。当受监视文件在磁盘上发生更改时,将清除缓存项目。
答案 1 :(得分:0)
无法清除服务之外的缓存,因为它已绑定到AppDomain。您需要自己实现清除缓存的入口点。
之后,只需Dispose内存缓存并创建一个新缓存。