2011-02-09 105 views
1

我m具有一個web服務。 在這我米使用緩存。緩存在ASP.net

我已經寫了下面的代碼來存儲數據表在緩存中。

using System.Web.Caching; 

Cache.Insert("dt", dt, null, DateTime.Now.AddHours(1), TimeSpan.Zero, System.Web.Caching.CacheItemPriority.Default, null); 

它給我的錯誤,如「需要非靜態字段的對象引用。

如何刪除這個錯誤

回答

3

使用System.Web.HttpRuntime.Cache .Insert(...)。這個「緩存'是一個屬性返回一個實例的System.Web.Caching.Cache的。這是一樣HttpContext.Current.Cache,但不要求一個HttpContext的。

您的代碼試圖訪問類的方法,風趣hout使用實例 - 因此是錯誤消息。

4

您正在嘗試使用緩存類作爲一個靜態的。

如果你想有一個請求期間使用當前緩存類的實例作爲一個HTTP情況下,你應該做的是這樣的:

HttpContext.Current.Cache.Insert("dt", dt, null, DateTime.Now.AddHours(1), TimeSpan.Zero, System.Web.Caching.CacheItemPriority.Default, null); 
+0

感謝名單。它爲我工作 – MarkandBhatt 2011-02-09 15:19:44