有什么办法可以缓解ASP.NET应用程序中单个JavaScript文件的缓存,而不会禁用缓存应用程序中的任何其他文件?
它在Azure中的IIS 7上运行,所以对我来说,似乎我唯一可以控制的选项在webserver标签中。
我目前使用的是folowwing配置,但是这是禁用所有文件上的缓存。
- <modules runAllManagedModulesForAllRequests="true"/>
- <staticContent>
- <clientCache cacheControlMode="DisableCache"/>
- </staticContent>
- </system.webServer>
我只是想禁用一个变化很频繁的单个javascript文件的缓存。
可能吗?
我只是偶然遇到这个问题;您可以使用以下命令禁用特定文件上的缓存:
- <configuration>
- <location path="path/to/the/file">
- <system.webServer>
- <staticContent>
- <clientCache cacheControlMode="DisableCache" />
- </staticContent>
- </system.webServer>
- </location>
- </configuration>
(请注意,路径是相对于web.config文件)
或者,将单个文件放在它自己的目录中,并给该目录自己的web.config,禁用其中的所有内容的缓存;
- <configuration>
- <system.webServer>
- <httpProtocol>
- <customHeaders>
- <add name="Cache-Control" value="no-cache" />
- </customHeaders>
- </httpProtocol>
- </system.webServer>
- </configuration>
[在Windows 7上的IIS7.5上都进行了测试,但您必须确认它在Azure上可以正常工作]