我怎么能缓存整个页面,除了顶部的一点,它说的是 "Welcome back, Matt! | Log Out"
如果用户登录等等?
我正在使用 ASP.NET MVC 2。
最佳答案
您要实现的目标称为 donut 缓存或缓存替换。从 ASP.NET MVC 2 开始,没有内置的帮助程序来支持这种情况。据我所知,这是 MVC v.1 中的一个计划功能,但在发布的过程中被删除了。欲了解更多信息,请查看此链接 http://haacked.com/archive/2008/11/05/donut-caching-in-asp.net-mvc.aspx , Is Donut Caching working properly with ASP.NET MVC? .
Oleg 在这里提到的 VaryByParam 选项在您的情况下不是一个好主意。如果您有 VaryByParam,则将为每个不同的参数值(在您的情况下为每个用户名)将不同版本的页面放入缓存中。
就个人而言,我会考虑缓存数据,而不是页面的整个输出。
关于带有动态片段的 ASP.NET MVC 输出缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3339352/