0

我正在尝试在 mvc3 中实现文件依赖缓存。由于我是 MVC 新手,所以我浏览了搜索过的 google,但没有得到任何帮助。

我们的任何人都可以帮助我吗?或者解决这个问题的方法是什么?

我尝试与我们在 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)
4

3 回答 3

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

于 2012-06-06T06:49:27.823 回答
0

您是否正确添加了参考?

尝试同样制作一个对象

CacheDependency CDep = new CacheDependency(fileName /*your file path*/, dt /*Set Start parameter to current date */);

然后insert用作

cache.Insert("DropDownData", "", CDep);
于 2012-06-06T06:49:13.593 回答
0

尝试

System.Web.HttpRuntime.Cache.Insert

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

于 2012-06-06T06:52:18.243 回答