увеличить срок действия предмета в кеше - PullRequest
0 голосов
/ 03 апреля 2012

У меня есть код для добавления элемента в кэш:

public static void AddTask(string name, string value,int seconds)
{
   _onCacheRemove = new CacheItemRemovedCallback(CacheItemRemoved);
   HttpRuntime.Cache.Insert(name, value, null,
                        DateTime.Now.AddSeconds(seconds), Cache.NoSlidingExpiration,
                        CacheItemPriority.NotRemovable, _onCacheRemove);
}

Например, seconds равно 120. Через 20 секунд я хочу снова установить время истечения 120 секунд. Как я могу это сделать?

PS. Не могу удалить этот элемент и добавить снова.

1 Ответ

1 голос
/ 03 апреля 2012

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

В этом обратном вызове вы можете отменить процесс удаления и продлить срок действия записи.

См. эту перегрузку вставки и эту документацию о делегате CacheItemUpdateCallback

Хотя вы уже обрабатываете удаленное событие - это «обновленное» событие в основном то же самое - оно просто дает вам возможность отменить истечение срока действия, если это необходимо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...