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

ASP.NET Core MVC:页面的ResponseCache设置是否会被引用资源继承?

ASP.NET Core MVC中ResponseCache特性对静态资源的影响
  • 明确结论:不会继承。你给控制器Action添加的[ResponseCache(NoStore = true)]特性,仅对该Action返回的HTML页面的响应生效——它会给HTML页面加上禁止缓存的响应头,但页面里引用的JavaScript、CSS、图片这类静态资源,完全不受这个设置的影响。
  • 原因很简单:静态资源是由ASP.NET Core的StaticFiles中间件单独处理的,它们有自己独立的缓存配置逻辑,和控制器Action的缓存规则不挂钩。
  • 如果要控制静态资源的缓存,得单独配置。比如在Program.cs里配置静态文件中间件时,通过OnPrepareResponse回调来设置缓存相关的响应头,示例代码如下:
app.UseStaticFiles(new StaticFileOptions
{
    OnPrepareResponse = ctx =>
    {
        // 示例:设置静态资源缓存有效期为30天
        ctx.Context.Response.Headers.Append("Cache-Control", "public, max-age=2592000");
    }
});

内容的提问来源于stack exchange,提问作者Herbert

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 01:33:10