ASP.net Créer des objets auto re-cache?
-
23-09-2019 - |
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.
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.