今天发布了ASP.NET MVC 3(最终版)。当此版本处于初期阶段时,我记得在CodePlex上阅读到有人考虑使用甜甜圈缓存技术。有人知道这是否纳入了V3吗?我找不到任何信息,所以只能(不幸地)假设它没有发生。
今天发布了ASP.NET MVC 3(最终版)。当此版本处于初期阶段时,我记得在CodePlex上阅读到有人考虑使用甜甜圈缓存技术。有人知道这是否纳入了V3吗?我找不到任何信息,所以只能(不幸地)假设它没有发生。
是的,确实如此。Scott Gu 在他的博客上提到了:
除了支持完整页面输出缓存之外,ASP.NET MVC 3还支持部分页面缓存——这使您可以缓存一个输出区域并在多个请求或控制器之间重复使用它。RC2更新了部分页面缓存的[OutputCache]行为,以便子内容缓存条目基于输入参数变化,而不是顶级请求的URL结构——这使得缓存场景比先前的RC中的行为更加简单和强大。
更新:
ASP.NET MVC 3仅支持甜甜圈缓存。这允许您在子操作上使用[OutputCache]
属性来缓存页面的一小部分。不支持甜甜圈缓存,它允许排除已缓存页面的某些部分。自ASP.NET MVC 2以来,Response.WriteSubstitution
不起作用。这是一篇好的文章,解释了ASP.NET MVC 3中可用的不同缓存选项。
更新2:
这是一篇很棒的文章,阐述了如何在ASP.NET MVC 3中启用甜甜圈缓存。
以下是Scott使用Razor语法提供的稍微详细一些的示例。