Если у кого-то будут проблемы в будущем (как у меня) - вот полный код для очистки кеша.
аюсь преобразовать решение с использованием EntLib в использование кэширования AppFabric. С помощью нескольких методов расширения это довольно безболезненный процесс.
Методы расширения, которые я использую:
public static bool Contains(this DataCache dataCache, string key)
{
return dataCache.Get(key) != null;
}
public static object GetData(this DataCache dataCache, string key)
{
return dataCache.Get(key);
}
Но есть две особенности EntLib, которые мне трудно преобразовать. А именно «Count» (подсчет количества ключей в кеше) и «Flush» (удаление всех данных из кеша). И то и другое можно было бы решить, если бы я мог перебирать ключи в кеше.
Есть метод, который называетсяClearRegion(string region)
, но это потребовало от меня указать имя региона во всех используемых мной методах Get / Put / Add, что потребовало бы ручной работы, подверженной ошибкам.
Есть ли способ получить список ключей в кеше?
Могу ли я использовать имя региона по умолчанию?
Как можно очистить кэш, если я не использовал название региона?