Contexto: .Net 3.5, C#
me gustaría tener mecanismo de caché en mi aplicación de consola.
En lugar de reinventar la rueda, me gustaría utilizar System.Web.Caching.Cache
(y eso es una decisión final, no puedo usar otro marco de almacenamiento en caché, no preguntes por qué). No obstante, parece que System.Web.Caching.Cache
se ejecuta solo en un contexto HTTP válido. Mi fragmento muy simple es el siguiente:¿Cómo puedo usar System.Web.Caching.Cache en una aplicación de consola?
using System;
using System.Web.Caching;
using System.Web;
Cache c = new Cache();
try
{
c.Insert("a", 123);
}
catch (Exception ex)
{
Console.WriteLine("cannot insert to cache, exception:");
Console.WriteLine(ex);
}
y el resultado es:
cannot insert to cache, exception: System.NullReferenceException: Object reference not set to an instance of an object. at System.Web.Caching.Cache.Insert(String key, Object value) at MyClass.RunSnippet()
Así que, obviamente, estoy haciendo algo mal aquí. ¿Algunas ideas?
actualización: 1 a la mayoría de las respuestas, para obtener el caché a través de métodos estáticos es el uso correcto, es decir HttpRuntime.Cache
y HttpContext.Current.Cache
. ¡Gracias a todos!
"ver aquí" vínculo se rompe –
@ Ron- que es un error Stackoverflow. Aquí hay un TinyUrl para el mismo enlace: http://tinyurl.com/ms35eu – RichardOD