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