是每个用户或每个应用程序的标准OutputCache属性

时间:2014-01-11 16:07:37

标签: asp.net asp.net-mvc outputcache

如果我将以下内容添加到我的应用程序/控制器

[OutputCache(Duration = 7200)]

我在网站上有两个用户,User1&用户2。如果User1浏览到打开了上述OutputCache的页面,则服务器会在页面中缓存HTML。

如果User2然后请求同一页面,服务器是否必须重新执行该页面(因为它是另一个用户),或者它是否在User1访问该页面时使用相同的缓存副本?

1 个答案:

答案 0 :(得分:5)

它将为所有用户使用相同的缓存。如果您不希望在用户之间共享缓存,则可以:

  1. 不要使用缓存或通过甜甜圈或甜甜圈洞缓存来有选择地缓存页面的部分内容。

  2. 使用OutputCache属性中的VaryByCustom参数,以便每个用户有一个缓存,但通常不需要缓存只有一个用户可以看到的内容。 See this