ASP MVC2中部分缓存的当前做法是什么?

时间:2010-10-13 18:09:28

标签: asp.net-mvc-2 partial-views outputcache renderaction donut-caching

我的网站页面由两种内容组成。第一个是用户之间的变量,但对于所有页面都是常量。第二个是跨用户不变的,但在页面之间是可变的。这是一种常见的布局。将输出缓存应用于这样的内容的最佳方法是什么?

据我了解,Html.Substitute助手与MVC2渲染管道不兼容,消除了旧的圆环缓存方式。

对每个页面使用VaryByParam =“user”的正常输出缓存?

特异性级别会降低输出缓存的值。同一用户不太可能在缓存输出的生命周期内多次查看同一页面。

使用备用OutputCache子系统

互联网上有几次尝试,它们修改OutputCache属性并渲染子系统以支持替换。我找到的最好的是here

但是,我发现的各种代码片段似乎都是非正式的实现,并且得不到很好的支持。另外,我倾向于怀疑如果将替换添加回MVC2管道很容易,那就完成了。

从几个单独缓存的子操作中编写最终页面

操作方法不会使用OutputCache属性进行标记,并且会返回一个包含多个Html.RenderAction调用的视图,这些调用将引入独立的缓存内容。除了使用RenderAction稍微重量级的影响之外,它还会增加额外的间接层和代码气味。

您在MVC2中独立编写缓存内容的经验是什么?什么运作良好,什么没有?

1 个答案:

答案 0 :(得分:1)

请查看this question ans以及信息how stackoverflow does this可以为您提供帮助。