Я использую новое пространство для кэширования .NET 4.0: System.Runtime.Caching
.Как проверить политики кэша внутри System.Runtime.Caching.ObjectCache?
Теперь я просто делаю прототип/скрипку с новым API, чтобы лучше всего подходить для реального приложения.
В соответствии с этим, я пытаюсь создать страницу (ASP.NET MVC), что в основном все, дамп в кэше, в частности, следующую информацию:
- Cache Object Key
- Cache
- политики кэширования (дата истечения срока действия и т.д.)
- зависимости кэша (если таковые имеются)
Однако, я не могу показаться, чтобы получить что-нибудь кроме ключа/объекта.
Вот код, я в настоящее время играю с:
public ActionResult Index()
{
var cache = MemoryCache.Default;
// i can get the list of cache keys like this:
var cacheKeys = cache.Select(kvp => kvp.Key).ToList();
// i can also get a strongly-typed "CacheItem" like this:
CacheItem item = cache.GetCacheItem("someKey");
}
я бы надеялся, что класс «CacheItem» подвергнет информацию я требовать (истечения срока действия, зависимость и т.д. - по крайней мере, как «добытчики») ,
Но это не так. Все, что у него есть, это свойства для имени ключа, значения и имени региона.
Как я могу проверить элементы в кеше и выплюнуть требуемую информацию?
Существует ли пространство имен/класс, который отсутствует?
EDIT
Похоже, есть класс ChangeMonitor, но опять же - это не дает информацию истечения срока, он просто позволяет подписаться на события, когда элементы кэша удаляются.
должен быть способом просто захватить элементы в кеше и когда они истекут.
EDIT 2
Не знаю, если это должно быть индивидуальный вопрос, но и - я запутался, как на то, что всю жизнь я должен дать свое ObjectCache. MSDN говорит, что это не синглтон, и вы можете создать несколько экземпляров ObjectCache. Что это значит, я должен использовать полностью заблокированный синглтон при доступе к экземпляру ObjectCache?
Yup, я думал об этом.Может быть, просто для прототипирования, я сделаю это, а затем верните код в нормальное состояние, когда я закончил. Тем не менее, я надеялся на облегченную программу мониторинга кеша на реальном сервере - звучит так, как будто это будет невозможно. – RPM1984