【发布时间】:2011-05-11 16:52:31
【问题描述】:
我想监控我的应用程序在企业库缓存机制中存储的键名和值。
我们正在使用内存设置。基本上,我只需要弄清楚如何转储当前存储的密钥。
我看到 ICacheManager 返回一个具有计数器的对象,但似乎没有办法访问缓存项,除非您已经知道密钥。
想法?
【问题讨论】:
标签: c# asp.net caching enterprise-library
我想监控我的应用程序在企业库缓存机制中存储的键名和值。
我们正在使用内存设置。基本上,我只需要弄清楚如何转储当前存储的密钥。
我看到 ICacheManager 返回一个具有计数器的对象,但似乎没有办法访问缓存项,除非您已经知道密钥。
想法?
【问题讨论】:
标签: c# asp.net caching enterprise-library
您是正确的 - Enterprise Lib 不会公开 CashManager 的内存缓存。但是......总有一种解决方法。您可以将下载的源代码作为项目引用,修改原始 CacheManager 以公开缓存实例,该实例具有名为 CurrentCacheState 的属性并且仅仅是一个哈希表。 然后你会做通常的foreach:
foreach(DictionaryEntry d in myExposedCacheManager.RealCache.CurrentCacheState)
{
Console.WriteLine(d.Key.ToString(), d.Value.ToString();
}
【讨论】: