缓存在ASP.net
问题描述:
我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);
它给我的错误,如“需要非静态字段的对象引用。
如何删除这个错误
答
使用System.Web.HttpRuntime.Cache .Insert(...)。这个“缓存'是一个属性返回一个实例的System.Web.Caching.Cache的。这是一样HttpContext.Current.Cache,但不要求一个HttpContext的。
您的代码试图访问类的方法,风趣hout使用实例 - 因此是错误消息。
答
您正在尝试使用缓存类作为一个静态的。
如果你想有一个请求期间使用当前缓存类的实例作为一个HTTP情况下,你应该做的是这样的:
HttpContext.Current.Cache.Insert("dt", dt, null, DateTime.Now.AddHours(1), TimeSpan.Zero, System.Web.Caching.CacheItemPriority.Default, null);
感谢名单。它为我工作 – MarkandBhatt 2011-02-09 15:19:44