我对此没有做过任何研究,我只是好奇。
ASP.NET MVC中的OutputCacheAttribute类需要一个Duration和VaryByParam的值。我明白为什么Duration是必需的,而不是VaryByParam。
发布于 2011-07-23 01:24:33
更新:好的,在MVC (3)的最新版本中,它不再是必需的,默认情况下不使用参数,即只有一次缓存存在。这是我之前预料到的行为。
发布于 2010-07-31 01:07:42
如果他们不要求您对此进行配置,您可能会无意中获得同一页面的数万个缓存副本,从而使输出缓存的好处失效。
因此,有两种解决方案--一种是检查每个输出是否重复,另一种是使缓存依赖于某些页面相关变量的值。第一个可能太贵了,所以他们选择了第二个。
他们试图通过强迫你意识到当某些查询字符串/POST参数存在时,页面的呈现方式可能会不同,并强迫你思考输出缓存意味着什么以及它是如何工作的,从而引导你进入“成功的坑”。
https://stackoverflow.com/questions/3373729
复制相似问题