2010-06-11 3 views
0

Je pense actuellement à la mise en cache de la plupart de mes données spécifiques à l'utilisateur de viewdata excpt après la connexion d'un utilisateur. Je pensais que le moyen le plus simple était de mettre en cache l'objet ViewData lui-même et d'ajouter les données spécifiques à l'utilisateur après son chargement. Y a-t-il des inconvénients de cette approche? Y a-t-il de meilleurs moyens?Caching asp.net viewdata

string cacheKey = "Nieuws/show/" + id; 
if (HttpRuntime.Cache[cacheKey] != null) 
{ 
     ViewData = HttpRuntime.Cache[cacheKey] as ViewDataDictionary; 
} 
else 
{ 
     // add stuff to view data 

     HttpRuntime.Cache.Insert(cacheKey, ViewData, null, DateTime.Now.AddSeconds(180), Cache.NoSlidingExpiration, 
     CacheItemPriority.NotRemovable, null); 
} 

Répondre

1

mmhhh ... Le ViewData pourrait aussi consister en de nombreuses informations unneed vous n'êtes pas intéressé par un cache. Je suggérerais de créer une classe de modèle appropriée et de persister dans votre état de session. Cela vous donnerait une architecture plus claire pour travailler avec. Peut-être aussi un horodatage supplémentaire pour avoir un type de mise à jour-scénario supporté pour recharger les données de db ...