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

Ken*_*nky 8 outputcache partial-views donut-caching renderaction asp.net-mvc-2

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

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

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

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

使用备用OutputCache子系统

互联网上有几次尝试,它们修改OutputCache属性并渲染子系统以支持替换.我发现的最好的就是这里.

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

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

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

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

Res*_*uta 1

请看一下这个问题,并了解stackoverflow 如何帮助您。