Кэширование в 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"];
Как видите, выполнение нулевой проверки объекта кэша очень полезно.
Но я хотел бы реализовать функцию очистки кэша, которая может очищать значения кэша
где я не знаю целое имя ключа. Как кажется, ассоциативная
массив здесь, это должно быть возможно (?)
Может кто-нибудь помочь мне выработать способ циклического перебора сохраненных ключей кеша и
выполнять простую логику на них? Вот что я ищу:
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);
}
}
}