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

lee*_*n3o 4 asp.net asp.net-mvc outputcache

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

[OutputCache(Duration = 7200)]
Run Code Online (Sandbox Code Playgroud)

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

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

Los*_*ter 5

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

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

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