2009-08-19 18 views
5

voglio usare il metodo Caching.Cache (...), in questo modo:di riferimento Oggetto richiesto per il campo non statico, metodo o proprietà

Cache.Insert("Interview Questions", datatable, sqlcachedep) 

o

System.Web.Caching.Cache.Insert("Reading List", datatable, sqlcachedep); 

Ci non è un problema con le variabili, ma ottengo questo messaggio di errore in entrambi i casi:

Errore 1 - Un riferimento a un oggetto è richiesto per il campo, il metodo o la proprietà non statici 'System.Web.Caching.Cache.Insert (stringa, oggetto, System.Web.Caching.CacheDependency)'

Come posso risolvere questo problema?

Grazie

+0

Umm, oltre a non chiamarlo come se fosse un metodo statico? –

+0

In realtà i due oggetti parametro erano privati. Rendendoli pubblici ha eliminato l'errore msg. – dotnetdev

risposta

1

Hai bisogno di fare

Page.Cache.Insert() 

(sto supponendo che stai parlando ASP.Net). Stai chiamando Cache come classe, non come istanza di essa.

+0

In realtà i due oggetti parametro erano privati. Rendendoli pubblici ha eliminato l'errore msg. – dotnetdev

1

Prova questa (a memoria):

HttpApplication.Context.Cache.Insert("Reading List", datatable, sqlcachedep); 
16

Sta dicendo la cosa giusta. Si dovrebbe provare qualcosa di simile:

HttpContext.Current.Cache.Insert(...); 

Cache.Insert è un non un metodo statico Avete bisogno di un esempio per chiamare il metodo Insert su (metodi statici sono indicati da una "S" accanto all'icona metodo nella documentazione.). HttpContext.Current.Cache restituisce l'oggetto Cache associato all'applicazione corrente.

Problemi correlati