MVC3中的文件依赖缓存

时间:2012-06-06 03:29:18

标签: asp.net-mvc

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

3 个答案:

答案 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是当前应用程序的缓存实例。