Bağlam: Net 3.5, C#
Benim konsol uygulamasında önbelleğe alma mekanizmasına sahip istiyorum.
yerine Tekerleği yeniden keşfetmekten, ben System.Web.Caching.Cache
kullanmak istiyorum (ve ben neden diye sorma, diğer önbelleğe alma çerçevesini kullanamaz, nihai bir karar var).
Ancak, System.Web.Caching.Cache
'un yalnızca geçerli bir HTTP bağlamında çalıştırılması gerektiği anlaşılıyor.Bir Console uygulamasında System.Web.Caching.Cache'yi nasıl kullanabilirim?
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);
}
ve sonucudur: My çok basit pasajı şöyle
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()Yani açıkçası, ben burada yanlış bir şey yapıyorum. Herhangi bir fikir?
Güncelleme: 1 En cevaplara, statik yöntemlerle önbelleği alma yani HttpRuntime.Cache
ve HttpContext.Current.Cache
doğru kullanımıdır. Hepinize teşekkür ederim! Tekerleği yeniden icat etmek istemiyorsanız
"Burada bkz" bağlantı Stackoverflow böcek Ron- @ –
bozuldu. İşte aynı bağlantı için bir TinyUrl - http://tinyurl.com/ms35eu – RichardOD