Цикл по ключам в объекте кэша ASP.NET

Кэширование в ASP.NET выглядит так, как будто оно использует какой-то ассоциативный массив:

// Insert some data into the cache:
Cache.Insert("TestCache", someValue);
// Retrieve the data like normal:
someValue = Cache.Get("TestCache");

// But, can be done associatively ...
someValue = Cache["TestCache"];

// Also, null checks can be performed to see if cache exists yet:
if(Cache["TestCache"] == null) {
    Cache.Insert(PerformComplicatedFunctionThatNeedsCaching());
}
someValue = Cache["TestCache"];

Как видите, проверка объекта кэша на null очень полезна.

Но я хотел бы реализовать функцию очистки кеша, которая может очищать значения кеша. где я не знаю полное имя ключа . Как кажется, ассоциативный массив здесь, это должно быть возможно (?)

Кто-нибудь может помочь мне разработать способ перебора сохраненных ключей кеша и выполняя на них простую логику? Вот что мне нужно:

static void DeleteMatchingCacheKey(string keyName) {
    // This foreach implementation doesn't work by the way ...
    foreach(Cache as c) {
        if(c.Key.Contains(keyName)) {
            Cache.Remove(c);
        }
    }
}
7
задан bkaid 13 August 2011 в 04:34
поделиться

0 ответов

Другие вопросы по тегам:

Похожие вопросы: