You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET MVC中OutputCacheAttribute是否受IIS缓存大小限制参数影响?

ASP.NET MVC服务器端OutputCache与IIS缓存限制的关系及容量配置方法

是否受IIS“缓存大小限制(MB)”参数影响?

你使用的[OutputCache(Duration = 86400, Location = System.Web.UI.OutputCacheLocation.Server)]属于ASP.NET Runtime管理的服务器端输出缓存,和IIS层级的输出缓存是两个完全独立的缓存体系,因此确实不会受IIS“缓存大小限制(MB)”参数的影响。IIS的输出缓存由IIS内核模块管控,而ASP.NET的Server端OutputCache存储在ASP.NET专属的内存缓存池中,由ASP.NET框架自行维护。

配置该缓存最大容量的方法

应用级配置(单站点生效)

在站点的web.config文件中,通过<system.web>下的<caching>节点配置输出缓存的容量限制:

<system.web>
  <caching>
    <outputCache enableOutputCache="true">
      <!-- 设置缓存可使用的最大私有内存字节数,示例为100MB(1024*1024*100) -->
      <privateBytesLimit>104857600</privateBytesLimit>
      <!-- 可选:设置缓存可使用的物理内存百分比,范围0-100,示例为20% -->
      <percentagePhysicalMemoryUsedLimit>20</percentagePhysicalMemoryUsedLimit>
    </outputCache>
  </caching>
</system.web>
  • 当缓存占用达到privateBytesLimit或percentagePhysicalMemoryUsedLimit的阈值时,ASP.NET会自动启动缓存清理策略,移除最久未使用的缓存条目。
  • 两个参数二选一即可,无需同时配置。

全局级配置(服务器所有ASP.NET站点生效)

如果需要对服务器上所有ASP.NET应用统一设置,可修改machine.config文件(路径通常为C:\Windows\Microsoft.NET\Framework\[你的.NET版本]\CONFIG或Framework64对应目录),在文件的<system.web>节点下添加上述相同的<caching>配置即可。


内容的提问来源于stack exchange,提问作者Gérard Lambert

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 06:32:47