2009-02-10 12 views
7

So arbeite ich an einem Projekt, das ASP.NET verwendet. Ich versuche, Cache ["key"] aufzurufen, aber der Compiler beklagt, dass System.Web.Caching.Cache "zu diesem Zeitpunkt" gültig ist.Problem mit der Klasse System.Web.Caching.Cache in ASP.NET

Wenn ich cache aufrufen obj = new Cache(); Das Obj ist immer Null.

Ich kann auf HttpContext.Current.Cache zugreifen - aber das lässt mich nicht ein absolutes Ablaufdatum und gleitendes Ablaufdatum in der Insert() -Methode angeben.

Kann mir jemand helfen?

Antwort

14

Sie sollten in der Lage sein, absolute oder gleitende Ablaufzeit beim Aufruf der Einfügung auf HttpRuntime.Cache. Es hat mehrere Überladungen. Beispiel:

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

Der exakt gleiche Code sollte auch mit HttpContext.Current.Cache funktionieren.

+0

Kann kein absolutes Ablaufdatum und ein gleitendes Ablaufdatum haben? Es scheint so als ob das eine oder das andere. – Ash

+0

Ich bin mir nicht sicher, wie das funktionieren würde, die beiden Formen des Ablaufs würden sich sicherlich irgendwann widersprechen. Aus diesem Grund ist es nicht erlaubt. Ein Wert sollte angegeben werden und der andere sollte System.Web.Caching.Cache.NoSlidingExpiration und System.Web.Caching.Cache.NoAbsoluteExpiration sein. –

0

Ich empfehle Ihnen, PCache Klasse unter PokeIn Bibliothek zu versuchen. Auch wenn Sie die FREE-Edition dieser Bibliothek verwenden, gibt es bei dieser Klasse keine Einschränkungen. Es hat viele weitere Funktionen im Vergleich zur ASP.NET Cache-Klasse und Sie müssen sich nicht mit diesen Problemen befassen. Auf der Website ist ein einfaches Beispielprojekt verfügbar.

Verwandte Themen