【发布时间】:2013-02-13 08:29:31
【问题描述】:
我正在使用 OutputCache 属性 [OutputCache(Duration = 3600)] 来缓存返回视图的控制器。但是该视图包含一个 Helper Method,该方法根据 Web.config 属性显示某些信息。问题是这些信息也被缓存了。有没有办法不缓存辅助方法信息。
【问题讨论】:
标签: c# .net asp.net-mvc asp.net-mvc-3 outputcache
我正在使用 OutputCache 属性 [OutputCache(Duration = 3600)] 来缓存返回视图的控制器。但是该视图包含一个 Helper Method,该方法根据 Web.config 属性显示某些信息。问题是这些信息也被缓存了。有没有办法不缓存辅助方法信息。
【问题讨论】:
标签: c# .net asp.net-mvc asp.net-mvc-3 outputcache
很遗憾,ASP.NET MVC 2 及更高版本不支持donut caching:
由于 ASP.NET MVC 2 处理请求的方式不同, 替换块中的数据可以在不应该缓存的时候被缓存。 不支持 ASP.NET MVC 的替代缓存,并且已经 从我们的 ASP.NET MVC Futures 项目中删除
这里有一个great article,解释了如何在 ASP.NET MVC 3 及更高版本中实现这一点。它基于 Codeplex 上的ASP.NET MVC Extensible Donut Caching 包。
【讨论】: