1

我对此进行了零研究,我只是好奇。

ASP.NET MVC 中的 OutputCacheAttribute 类需要 Duration 和 VaryByParam 的值。我明白为什么需要持续时间,但不是 VaryByParam。

4

2 回答 2

1

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

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

他们试图引导你进入“成功的坑”,迫使你意识到当某些查询字符串/POST参数存在时页面可能会呈现不同,并迫使你思考输出缓存的含义以及它是如何实现的作品。

于 2010-07-30T17:07:42.393 回答
1

更新:好的,从最新版本的 MVC (3) 开始,不再需要它,默认情况下不使用任何参数,即只有一次缓存存在。这是我之前预期的行为。

于 2011-07-22T17:24:33.050 回答