.NET 4 ObjectCache - ¿Podemos conectarnos a un evento "Cache expired"?

Tengo un objeto simple que se almacena en caché de esta manera:

_myCache.Add(someKey, someObj, policy);

Dónde_myCache se declara comoObjectCache (pero inyectado a través de DI comoMemoryCache.Default),someObj es el objeto que estoy agregando, ypolicy es unCacheItemPolicy.

Si tengo unCacheItemPolicy Me gusta esto

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

Significa que caducará en 1 hora. Guay

Pero lo que sucederá es que el primer usuario desafortunado después de la hora tendrá que esperar el golpe.

¿Hay alguna forma de conectarme a un evento / delegado "caducado" y actualizar manualmente el caché?

Veo que hay una mención deCacheEntryChangeMonitor pero no puedo encontrar ningún documento / ejemplo significativo sobre cómo utilizarlo en mi ejemplo.

PD. Sé que puedo usarCacheItemPriority.NotRemovable y caducarlo manualmente, pero no puedo hacerlo en mi ejemplo actual porque los datos en caché son demasiado complicados (por ejemplo, necesitaría "invalidar" en 10 lugares diferentes de mi código).

¿Algunas ideas

Respuestas a la pregunta(2)

Su respuesta a la pregunta