上下文:.Net 3.5,C#
我想在我的控制檯應用程序中有緩存機制。
而不是重新發明輪子,我想使用System.Web.Caching.Cache
(這是一個最終決定,我不能使用其他緩存框架,不要問爲什麼)。
但是,它看起來像System.Web.Caching.Cache
應該只在有效的HTTP上下文中運行。我非常簡單的代碼片段看起來是這樣的:如何在控制檯應用程序中使用System.Web.Caching.Cache?
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);
}
,其結果是:
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()
所以,很顯然,我在這裏做得不對。有任何想法嗎?
更新:+1大部分答案,通過靜態方法獲取緩存是正確的用法,即HttpRuntime.Cache
和HttpContext.Current.Cache
。謝謝你們!
「看這裏」鏈接被打破 – 2009-06-24 11:52:04
@羅恩 - 這是一個錯誤#1。下面是同一個鏈接的TinyUrl:http://tinyurl.com/ms35eu – RichardOD 2009-06-24 13:20:47