Question

Comment puis-je faire une nouvelle cache d'objets mis en cache elle-même avec des informations mises à jour lorsque le cache est arrivé à expiration? J'essaie d'empêcher le prochain utilisateur qui demande le cache d'avoir à traiter à obtenir les données de réglage du cache puis l'utiliser est-il une méthode d'arrière-plan / événement je peux lier l'objet de telle sorte que quand il arrive à expiration, il appelle simplement la méthode elle-même et l'auto-caches.

Était-ce utile?

La solution

Vous pouvez utiliser le rappel du cache

System.Web.Caching.CacheItemRemovedCallback callback = 
    new System.Web.Caching.CacheItemRemovedCallback (OnRemove);
Cache.Insert("key",myFile,null, 
   System.Web.Caching.Cache.NoAbsoluteExpiration, 
   TimeSpan.Zero, 
   System.Web.Caching.CacheItemPriority.Default, callback);
 . . .
public static void OnRemove(string key, 
   object cacheItem, 
   System.Web.Caching.CacheItemRemovedReason reason)
   {
      // Logic
   }

Autres conseils

Pardonnez-moi, peut-être me manque quelque chose. Mais les sons comme vous êtes après de garder à jour les données mises en cache. OMI, il est préférable d'utiliser CacheDependency au lieu d'expiration dans ce cas. Bien sûr, vous devez re-cache sur la requête suivante.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top