我正在尝试在mvc3中实现文件依赖性缓存。由于我是MVC的新手,我浏览了搜索谷歌,但我没有得到任何帮助。
我们的任何人都可以帮助我吗?或者解决这个问题的方法是什么?
我尝试了与我们在asp.net中所做的相同但我收到了错误。
我试过的代码:
public ActionResult About()
{
Cache.Insert("DropDownData", "", new System.Web.Caching.CacheDependency(Server.MapPath("~/testxml.xml")));
return View();
}
我得到的错误:
An object reference is required for the non-static field, method, or property 'System.Web.Caching.Cache.Insert(string, object, System.Web.Caching.CacheDependency)
答案 0 :(得分:1)
您的问题是您在没有引用缓存实例的情况下调用实例方法Cache.Insert
。 ASP.NET MVC不会在Controller中默认公开默认缓存。
HttpContext.Cache.Insert
话虽如此,这种行为更适合在ActionFilter中进行本地化。有关详细信息,请查看以下内容:http://www.asp.net/mvc/tutorials/older-versions/controllers-and-routing/improving-performance-with-output-caching-cs
答案 1 :(得分:0)
您是否正确添加了参考文献?
尝试同样制作一个物品
CacheDependency CDep = new CacheDependency(fileName /*your file path*/, dt /*Set Start parameter to current date */);
然后使用insert
作为
cache.Insert("DropDownData", "", CDep);
答案 2 :(得分:0)
尝试
System.Web.HttpRuntime.Cache.Insert
System.Web.HttpRuntime.Cache
是当前应用程序的缓存实例。