.NET 4 ObjectCache - Можем ли мы подключиться к событию «Срок действия кэша истек»?

У меня есть простой объект, который кэшируется следующим образом:

_myCache.Add(someKey, someObj, policy);

где_myCache объявлен какObjectCache (но вводится через DI какMemoryCache.Default),someObj это объект, который я добавляю, иpolicy этоCacheItemPolicy.

Если у меня естьCacheItemPolicy нравится:

var policy = new CacheItemPolicy 
{ 
   Priority = CacheItemPriority.Default, 
   SlidingExpiration = TimeSpan.FromHours(1)
};

Это означает, что истекает через 1 час. Здорово.

Но что случится, так это то, что незадачливому первому пользователю через час придется ждать попадания.

Есть ли способ, которым я могу подключиться к «просроченному» событию / делегату и вручную обновить кеш?

Я вижу, что есть упоминание оCacheEntryChangeMonitor но я не могу найти никаких значимых документов / примеров о том, как использовать его в моем примере.

PS. Я знаю, что могу использоватьCacheItemPriority.NotRemovable и срок его действия истекает вручную, но я не могу этого сделать в моем текущем примере, потому что кэшированные данные слишком сложны (например, мне нужно «сделать недействительными» примерно в 10 разных местах в моем коде).

Есть идеи?

Ответы на вопрос(2)

Ваш ответ на вопрос