首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么OutputCache属性需要设置VaryByParam参数?

为什么OutputCache属性需要设置VaryByParam参数?
EN

Stack Overflow用户
提问于 2010-07-31 00:59:19
回答 2查看 1.5K关注 0票数 1

我对此没有做过任何研究,我只是好奇。

ASP.NET MVC中的OutputCacheAttribute类需要一个Duration和VaryByParam的值。我明白为什么Duration是必需的,而不是VaryByParam。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-07-23 01:24:33

更新:好的,在MVC (3)的最新版本中,它不再是必需的,默认情况下不使用参数,即只有一次缓存存在。这是我之前预料到的行为。

票数 1
EN

Stack Overflow用户

发布于 2010-07-31 01:07:42

如果他们不要求您对此进行配置,您可能会无意中获得同一页面的数万个缓存副本,从而使输出缓存的好处失效。

因此,有两种解决方案--一种是检查每个输出是否重复,另一种是使缓存依赖于某些页面相关变量的值。第一个可能太贵了,所以他们选择了第二个。

他们试图通过强迫你意识到当某些查询字符串/POST参数存在时,页面的呈现方式可能会不同,并强迫你思考输出缓存意味着什么以及它是如何工作的,从而引导你进入“成功的坑”。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3373729

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档