我的网站页面由两种内容组成.第一个是用户之间的变量,但所有页面都是常量.第二个是跨用户不变的,但在页面之间是可变的.这是一种常见的布局.将输出缓存应用于此类内容的最佳方法是什么?
据我所知,Html.Substitute助手与MVC2渲染管道不兼容,消除了旧的圆环缓存方式.
对每个页面使用VaryByParam =“user”的正常输出缓存?
特异性水平会降低输出缓存的价值.同一用户不太可能在缓存输出的生命周期内多次查看同一页面.
使用备用OutputCache子系统
互联网上有几次尝试,它们修改OutputCache属性并渲染子系统以支持替换.我发现的最好的是here.
但是,我发现的各种代码片段似乎都是非正式的实现,并且得不到很好的支持.另外,我倾向于怀疑如果将替换添加回MVC2管道那么容易,那就完成了.
从几个单独缓存的子操作中编写最终页面
action方法不会使用OutputCache属性进行标记,并且会返回一个包含多个Html.RenderAction调用的视图,这些调用将引入独立的缓存内容.除了使用RenderAction的重量级影响之外,它还会增加额外的间接层和代码气味.
您在MVC2中独立编写缓存内容的经验是什么?什么运作良好,什么没有?
解决方法
请看一下
this question ans也知道
how stackoverflow does this可以帮到你.