2009-08-19 21 views
5

Quiero utilizar el método Caching.Cache (...), así:Referencia a objeto requerido para el campo no estático, método o propiedad

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

o

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

Hay no hay problema con las variables, pero obtengo este mensaje de error en cualquier caso:

Error 1 - Se requiere una referencia de objeto para el campo, el método o la propiedad no estáticos 'System.Web.Caching.Cache.Insert (cadena, objeto, System.Web.Caching.CacheDependency)'

¿Cómo puedo solucionar esto?

Gracias

+0

Umm, además de no llamarlo como si fuera un método estático? –

+0

En realidad, los dos objetos de parámetros eran privados. Hacerlos públicos ha eliminado el mensaje de error. – dotnetdev

Respuesta

1

que tiene que hacer

Page.Cache.Insert() 

(Asumo que estás hablando ASP.Net). Llamas a Cache como clase, no como instancia de la misma.

+0

En realidad, los dos objetos de parámetros eran privados. Hacerlos públicos ha eliminado el mensaje de error. – dotnetdev

1

probar este (de memoria):

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

Es decir la cosa correcta. Usted debe intentar algo como:

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

Cache.Insert es un no es un método estático se necesita una instancia para llamar al método Insert en (métodos estáticos se indican con una "S" junto al icono de método en la documentación.). HttpContext.Current.Cache devuelve el objeto Cache asociado con la aplicación actual.

Cuestiones relacionadas