2010-11-19 8 views
4

J'essaie de supprimer le cache en utilisant HttpRuntime.Cache.Remove (key) mais invain. Je me demande quelles sont les meilleures pratiques pour l'utilisation de HttpRuntime.Cache.HttpRuntime.Cache.Remove ne supprime pas le cache

Cordialement

+3

Veuillez fournir plus de détails sur ce que vous essayez de faire exactement et ce qui est/n'est pas produit - de préférence avec un exemple de code qui montre le problème. – LukeH

Répondre

12

La méthode Remove fonctionne parfaitement bien et supprime l'élément du cache donné sa clé. Voici un exemple:

class Program 
{ 
    static void Main() 
    { 
     // add an item to the cache 
     HttpRuntime.Cache["foo"] = "bar"; 
     Console.WriteLine(HttpRuntime.Cache["foo"]); // prints bar 

     // remove the item from the cache 
     HttpRuntime.Cache.Remove("foo"); 
     Console.WriteLine(HttpRuntime.Cache["foo"]); // prints empty string 
    } 
} 

C'est probablement la façon dont vous l'utilisez qui est faux. Malheureusement, cela n'a pas été précisé dans votre question, c'est pour autant que nous pouvons vous aider.

+0

Maintenant, il fonctionne parfaitement, Darin. Merci pour l'utilisation. –

2

Une fois, j'ai passé une heure amusante à rechercher quelque chose de très similaire: j'ai retiré quelque chose du cache pour le retrouver là-bas. Il s'est avéré être un déclencheur qui le remettait à chaque fois. Recherchez les effets secondaires comme ça.

+0

Ceci ^. Rappelez-vous, après que HttpRuntime.Cache.Remove() a été appelé, la méthode de rappel du délégué 'CacheItemRemoved' se déclenchera, et j'imagine que vous ajoutez à nouveau l'élément à l'intérieur. – maxp