利用浏览器缓存:无法在 web.config 文件中设置 <location> 属性

Leverage browser caching : not able to set <location> attribute in web.config file

对于浏览器缓存,我只想为 web.config 中的一个 .js 文件设置过期时间,而不是整个 js 文件夹。为此,我尝试在 How to configure static content cache per folder and extension in IIS7? 的帮助下使用以下配置,但它不起作用:

    <configuration>
     <location path="compiled.js">
       <system.webServer>
        <staticContent>
         <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="1.00:00:00" />
        </staticContent>
       </system.webServer>
     </location>
  </configuration>

然后我尝试更改 "location" 属性中的路径,如下所示,但这对我也不起作用:

<configuration>
   <location path="~/js/compiled.js">
    <system.webServer>
      <staticContent>
        <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="1.00:00:00" />
      </staticContent>
    </system.webServer>
    </location>
  </configuration>

谁能帮助我如何通过 web.config 为一个 .js 文件而不是整个文件夹设置缓存过期时间?

对于单个文件我们可以在web.config文件中设置缓存过期时间如下图:

    <configuration>
    <location path="js/compiled.js">
    <system.webServer>
      <staticContent>
        <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="30.00:00:00" />
      </staticContent>
    </system.webServer>
  </location>
    </configuration>

此外,我们可以通过使用不同的 <location> 部分为不同的 files/folders 指定缓存设置。