监控企业库缓存

我想监视我的应用程序在企业库缓存机制中存储的密钥名称和值。

我们正在使用内存设置。 基本上,我只需要弄清楚如何转储当前存储的密钥。

我看到ICacheManager返回一个具有计数器的对象,但除非您已经知道密钥,否则似乎没有办法访问缓存的项目。

想法?

你是对的 – Enterprise Lib不公开CashManager的内存缓存。 但是……总有一种解决方法。 您可以将下载的源代码作为项目引用修改原始CacheManager以公开具有名为CurrentCacheState的属性的缓存实例,并且它只是一个哈希表。 然后你会做通常的foreach:

foreach(DictionaryEntry d in myExposedCacheManager.RealCache.CurrentCacheState) { Console.WriteLine(d.Key.ToString(), d.Value.ToString(); }