Asp.net mvc MVC3中的文件依赖缓存

Asp.net mvc MVC3中的文件依赖缓存,asp.net-mvc,Asp.net Mvc,我试图在mvc3中实现文件依赖缓存。由于我是MVC新手,我浏览了谷歌,但没有得到任何帮助 我们的人能帮我吗?或者,这方面的工作是什么 我尝试了与我们在asp.net中所做的相同的操作,但出现了错误 我试过的代码: public ActionResult About() { Cache.Insert("DropDownData", "", new System.Web.Caching.CacheDependency(Server.MapPath("~/testxml.xml

我试图在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)

您添加的引用是否正确

试着做一个类似的物体

CacheDependency CDep = new CacheDependency(fileName /*your file path*/, dt /*Set Start parameter to current date */);
然后使用
insert
作为

cache.Insert("DropDownData", "", CDep);

您的问题是,您正在调用实例方法
Cache.Insert
,而不引用缓存的实例。默认情况下,ASP.NET MVC不会公开控制器中的默认缓存

为了从控制器访问它,您需要使用
HttpContext.Cache.Insert
也就是说,这种行为更适合在ActionFilter中进行本地化。查看以下内容了解更多信息:

试试看

System.Web.HttpRuntime.Cache.Insert

System.Web.HttpRuntime.Cache
是您当前应用程序的缓存实例。

谢谢,它按我的预期工作。那么mvc3中是否推荐使用这种类型的缓存?您可能对此感兴趣:Hanselman甚至谈到在web应用程序之外使用这种技术,因为它适用于许多情况。简而言之,在MVC中使用
HttpRuntime.Cache