2010-11-19 9 views
4

Ich versuche, den Cache mit dem HttpRuntime.Cache.Remove (Schlüssel) zu entfernen, aber invain. Ich frage mich, was sind die besten Praktiken für die Verwendung von HttpRuntime.Cache.HttpRuntime.Cache.Remove entfernt Cache nicht

Grüße

+3

Bitte geben Sie weitere Details darüber an, was genau Sie tun möchten und was nicht - vorzugsweise mit einem Beispielcode, der das Problem veranschaulicht. – LukeH

Antwort

12

Die Remove Methode perfekt funktioniert gut und entfernt das Element aus dem seinem Schlüssel gegebenen Cache. Hier ist ein Beispiel:

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 
    } 
} 

Es ist wahrscheinlich die Art, wie Sie es verwenden, die falsch ist. Leider wurde dies in Ihrer Frage nicht angegeben, so weit wir helfen können.

+0

Jetzt funktioniert es perfekt, Darin. Danke für die Verwendung. –

2

Ich habe einmal eine spaßige Stunde damit verbracht, etwas aufzuspüren, das sehr ähnlich aussah: Ich habe etwas aus dem Cache entfernt, nur um es wieder dort zu finden. Es stellte sich heraus, dass es ein Entfernungsauslöser war, der es jedes Mal zurücksetzte. Achte auf solche Nebenwirkungen.

+0

Dies ^. Denken Sie daran, nachdem HttpRuntime.Cache.Remove() aufgerufen wurde, wird die Callback-Methode "CacheItemRemoved" des Delegaten ausgelöst, und ich nehme an, dass Sie das Element dort wieder hinzufügen. – maxp