web.config为所有html文件设置标题

时间:2018-08-07 09:15:17

标签: iis http-headers web-config

我不想为我的项目中的所有html文件设置缓存头。我知道如何针对特定文件执行此操作:

 <location path="index.html">
    <system.webServer>
      <httpProtocol>
        <customHeaders>
            <add name="Cache-Control" value="no-cache, no-store, must-revalidate" />
            <add name="Pragma" value="no-cache" />
            <add name="Expires" value="0" />
        </customHeaders>
      </httpProtocol>
    </system.webServer>
  </location>

但是如何像通配符一样使用它来定位所有html文件?

1 个答案:

答案 0 :(得分:0)

恐怕通配符不是一个选择。
您可能需要考虑从Startup.cs进行设置:

app.Use((context, next) =>
{
    context.Response.Headers[HeaderNames.CacheControl] = "no-cache, no-store, must-revalidate";
    context.Response.Headers[HeaderNames.Expires] = "0";
    context.Response.Headers[HeaderNames.Pragma] = "no-cache";
    return next();
});

这是ASP.Net核心v3示例,有关您可以想象的任何环境的更多详细信息和示例,请参阅以下金星答复:How do we control web page caching, across all browsers?