[ tranzik @ 30.11.2010. 23:59 ] @
Mučim se već par dana, pa bih molio nekog za savet oko upotrebe cache-a u .NET 3.5...

Pokušavam da napravim jednostavnu C# web aplikaciju koja bi trebala da kreirani objekat neke klase sačuva u cache-u i kasnija, naravno, čita iz njega.
Prvo sam sve direktno iskodirao u code behind fajlovima samih stranica. Ovo je savršeno funkcionisalo, pošto web stranica nasleđuje System.Web.UI.Page, koja ima deklarisan property
Code:
public System.Web.CachingCache Cache { get; } 

tako da sam objekte smeštao i izvlačio jednostavnim navođenjem Cache.Insert(key, object,...) ili direktno Cache[key]=object itd.

E, onda je nastao problem: napravio sam svoju klasu koja bi radila upis, čitanje i brisanje cache-a. Sada redovno dobijam NullReferenceException "Object reference not set to an instance of an object." svaki put kada na bilo koji način pokušam da pristupim Cache-u.
Ako se ne varam trebao bih da instanciram objekat tipa System.Web.CachingCache, ali mi to baš i ne uspeva - imao sam bezuspešne pokušaje tipa:
Code:
public Cache cache = new Cache();


Ili kraće: Šta je potrebno da uradim da bih u svojoj klasi mogao da pristupam objektu koji je sačuvan u cache-u?! Jedan kratak primer bi bio dovoljan...
[ tranzik @ 01.12.2010. 17:29 ] @
Da nisam pitao, verovatno ne bih ni našao rešenje :)

System.Web.Caching.Cache je klasa, a meni treba instanca te klase koja čuva podatke moje aplikacije, što je HttpRunTime.Cache.

Dakle, da bih radio sa cache-om u nekoj svojoj klasi, treba prvo da deklarišem

Code:
Cache myCache = HttpRunTime.Cache;


i dalje koristim myCache.Add(), myCache.Remove() itd.