asp.net - 标准 OutputCache 属性是每个用户还是每个应用程序

标签 asp.net asp.net-mvc outputcache

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

[OutputCache(Duration = 7200)]

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

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

最佳答案

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

  1. 不要使用缓存或通过环形或环形孔缓存选择性地缓存页面的部分内容。

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

关于asp.net - 标准 OutputCache 属性是每个用户还是每个应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21064541/

相关文章:

c# - gridview数据导出到asp.net中的excel

c# - CORBA 的 ASP.Net WebAPI 替代品?

c# - Entity Framework 6 Code First 查找表未填充

c# - 当 Controller 类在不同的程序集中时,如何将 Controller 注册到 ASP.NET MVC 中?

c# - ASP.NET MVC OutputCache 因 * 和用户 cookie 而异

c# - 如何将 Outputcache 与 BeItMemcached 混合使用? (或其他缓存提供者)

html - 使用 Bootstrap 时,我无法将 ASP 控件的高度降低到我想要的高度

c# - 在 VS for mac 上运行项目

asp.net-mvc - 使用 Jquery UI Datepicker knockout Js - "Missing instance data for this datepicker"

asp.net-mvc-3 - 我可以在 ASP.Net MVC 中使用具有文件依赖性的 OutputCache 吗?