Принудительно истекает срок действия всего кэша ASP.NET - PullRequest
9 голосов
/ 21 мая 2010

Есть ли метод или что-то, чтобы заставить истечь все записи в коллекции Cache HttpContext?

Ответы [ 2 ]

18 голосов
/ 21 мая 2010

Попробуйте что-то вроде этого:

var enumerator = HttpRuntime.Cache.GetEnumerator();
Dictionary<string, object> cacheItems = new Dictionary<string, object>();

while (enumerator.MoveNext())
    cacheItems.Add(enumerator.Key.ToString(), enumerator.Value);

foreach (string key in cacheItems.Keys)
    HttpRuntime.Cache.Remove(key);
0 голосов
/ 22 октября 2015

как насчет обновления кеша до истечения срока действия?

protected void btnClearCache_Click(object sender, EventArgs e)
{

    var enumerator = HttpRuntime.Cache.GetEnumerator();

    while (enumerator.MoveNext())
        HttpRuntime.Cache.Insert(enumerator.Key.ToString(), enumerator.Value, 
            null, DateTime.Now , Cache.NoSlidingExpiration);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...