我目前在我的网站上缓存了所有可能的内容(图片,JS,CSS)。我只需要一次刷新一个JS文件。如何使用web.config忽略缓存中的一个文件,同时保留其他所有缓存的文件?
请注意,我在这里尝试了另一个链接,它似乎没有停止缓存我的文件: How do I disable caching of an individual file in IIS 7 using weserver config settings
答案 0 :(得分:6)
怎么样:
<configuration>
<location path="path/to/the/file.js">
<system.webServer>
<staticContent>
<clientCache cacheControlMode="DisableCache" />
</staticContent>
</system.webServer>
</location>
</configuration>
(注意路径是相对于web.config文件的)
答案 1 :(得分:2)
我认为您无法使用web.config执行此操作,但您可以在javascript网址中添加一个唯一的查询字符串参数,以便每次都加载它:
如果您使用的是ASP.NET
<script src="mycode.js?<%=System.Guid.NewGuid.ToString()%>"></script>
答案 2 :(得分:1)
将其路径设置为静态URL,但获取ASPX页面以提供脚本。在ASPX页面内,只需发回文本:
byte[] javascriptTextBuffer = GetMyJavascript();
Response.ContentType = "text/javascript";
Response.Write(javascriptTextBuffer);
在页面turn off caching内。
话虽如此,在我看来,你做错了什么,每次都要加载JavaScript文件。 使脚本保持静态,但使用参数来推动多功能性。