2011-02-09 107 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