Comment vérifier si un élément dans MemoryCache expirera?

Est-il possible de lire l'heure d'expiration d'un élément dans MemoryCache?

Je suis en utilisant le .NET System.Runtime.Caching.MemoryCache pour stocker mes informations de configuration pour 30 min avant que je le recharger à partir de la base de données. Dans le cadre d'une page d'état, je voudrais montrer à quel âge un cache spécifique de l'élément est ou la date d'expiration.

object config = LoadSomeStuffFromDatabase();
CacheItemPolicy cachePolicy = new CacheItemPolicy() { AbsoluteExpiration = DateTime.Now.AddMinutes(30) }; 
Cache.Add("MyConfigKey", config, cachePolicy);

//And now I want to do something like this :-)
DateTime dt = Cache.SomeMagicMethod("MyConfigKey");

Aujourd'hui, je suis en utilisant une variable qui est mis à jour chaque fois que je recharge la configuration. Mais il serait beaucoup plus agréable de lire ces informations à partir du cache lui-même.

  • Une alternative serait de cache de votre date d'insertion le long de avec votre objet, de cette façon, lorsque vous chercher plus tard, vous saurez quand vous avez la sauver, et vous pouvez calculer combien de temps ça va prendre pour expirer