MVC3部分没有缓存页面上的缓存

时间:2011-06-17 02:12:57

标签: asp.net-mvc-3 caching

在我的MVC3项目中,我使用了一些输出缓存,并在动作上设置了OutputCache属性。但是,此页面上的某些部分我不想缓存。

在我的视图中是否有可能会覆盖页面缓存?

4 个答案:

答案 0 :(得分:5)

您现在可以通过下载MvcDonutCaching NuGet包来获得正确的甜甜圈缓存。有关详细信息,请参阅http://mvcdonutcaching.codeplex.com/http://www.devtrends.co.uk/blog/donut-output-caching-in-asp.net-mvc-3

答案 1 :(得分:0)

是的,你'应该'能够做到这一点。 看到: Partial Views Caching in ASP.NET MVC 3

此外,我还使用一种方法来禁用控制器的缓存:

Disable browser cache for entire ASP.NET website

答案 2 :(得分:0)

似乎这就是答案:http://weblogs.asp.net/scottgu/archive/2006/11/28/tip-trick-implement-donut-caching-with-the-asp-net-2-0-output-cache-substitution-feature.aspx

您基本上有两个选择:

  1. 重构页面,而不是缓存整个页面, 你识别出所有特定的部分(控制,部分等) 应该缓存。 (嘘)
  2. 使用输出替换块作为Scott Guthrie在链接中描述。 (除非更换,否则嘘声 只是简单的文字)

答案 3 :(得分:0)

这称为甜甜圈缓存,MVC3中不支持开箱即用。看看我的类似问题here。具体来说,他建议的Jan Jongboom的Moth图书馆可以做到这一点(虽然我不能确认或否认这一点)