2009-02-10 8 views
7

Je travaille donc sur un projet qui utilise ASP.NET. J'essaye d'appeler Cache ["key"] mais le compilateur se plaint de la façon dont System.Web.Caching.Cache est "nat valide à ce moment".Problème lors de l'utilisation de la classe System.Web.Caching.Cache dans ASP.NET

Si j'appelle Cache obj = new Cache(); l'obj est toujours nul.

Je peux accéder à HttpContext.Current.Cache - mais cela ne me laisse pas spécifier une expiration absolue et une expiration glissante dans la méthode Insert().

Quelqu'un peut-il m'aider?

Répondre

14

Vous devriez être en mesure d'effectuer une expiration absolue ou glissante en appelant l'insertion sur HttpRuntime.Cache. Il a plusieurs surcharges. Ex:

HttpRuntime.Cache.Insert("EXAMPLE_KEY", 
         exampleItem, 
         Nothing,       
         DateTime.Now.AddHours(1), 
         System.Web.Caching.Cache.NoSlidingExpiration); 

Le code exact devrait également fonctionner avec HttpContext.Current.Cache.

+0

Impossible d'avoir une expiration absolue ET une expiration de glissement? Il semble que ce soit l'un ou l'autre. – Ash

+0

Je ne sais pas comment cela fonctionnerait, les deux formes d'expiration se contrediraient certainement à un moment donné. Pour cette raison, ce n'est pas autorisé. Une valeur doit être remplacée et l'autre doit être System.Web.Caching.Cache.NoSlidingExpiration et System.Web.Caching.Cache.NoAbsoluteExpiration. –

0

Je vous suggère d'essayer la classe PCache sous la bibliothèque PokeIn. Même si vous utilisez l'édition GRATUITE de cette bibliothèque, il n'y a aucune limitation avec cette classe. Il a beaucoup plus de fonctionnalités par rapport à la classe Cache ASP.NET et vous n'avez pas à faire face à ces problèmes. Il existe un exemple de projet simple disponible sur le site Web.

Questions connexes