Мониторинг кэширования Enterprise Library - PullRequest
0 голосов
/ 18 ноября 2010

Я хочу отслеживать имена и значения ключей, которые хранятся моим приложением в механизме кэширования Enterprise Library.

Мы используем настройки памяти. По сути, мне просто нужно выяснить, как сбросить ключи, которые хранятся в данный момент.

Я вижу, что ICacheManager возвращает объект, у которого есть счетчик, но, похоже, нет способа получить доступ к кэшированным элементам, если вы уже не знаете ключ.

Идеи

1 Ответ

1 голос
/ 18 ноября 2010

Вы правы - Enterprise Lib не предоставляет кэш в памяти CashManager. Но ... всегда есть обходной путь. Вы можете сослаться на загруженный источник как проект, изменив исходный CacheManager, чтобы показать экземпляр кэша, который имеет свойство CurrentCacheState и является простой хеш-таблицей. Тогда вы бы сделали обычный foreach:

    foreach(DictionaryEntry d in myExposedCacheManager.RealCache.CurrentCacheState) 
    {

         Console.WriteLine(d.Key.ToString(), d.Value.ToString();
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...