Answers:
当您执行IISReset时,将清除IIS缓存,然后在客户端请求进来备份后开始重新构建IIS缓存。如果更新文件,则较早的缓存文件将变得过时,并且IIS将为更新的文件提供服务,并且使用新文件更新缓存。
IISReset(尽管很苛刻)将清除IIS缓存,但不会对代理或客户端中的本地缓存执行任何操作。也许您只是混用了一些术语,但是在缓存方面并没有“重新发送”的概念。都是基于请求的。如果客户端请求某些内容,并且在缓存中找到了该内容,那么它将从缓存中获得服务。如果要保持相同的文件名,则需要强制文件过期。
当您修改一个javascript文件时,需要所有正在运行Web应用程序的客户端来获取新文件,对我来说很明显“最近”。
对于每个从服务器获取新文件的客户端,您只需要在网页的javascript的include / script中包含"?version=1"
。
只需一个参数就可以?blue=hello
,?v=1234155
也可以像您想要的那样。重要性是每次更改javascript时都使用不同的值。"?version=1"
对于第一个更改,"?version=2"
对于第二个更改,知道下一个值是实用且唯一的。您也可以根据需要使用GUID:"?version=4747b320-62ce-11cf-a5d6-28db04c10777"
或者,可以使用"?version=20130220175025"
2013/02/20 17:50:25 的日期和时间。
<script type="text/javascript" src="http//..../jquery/1.7.1/jquery.min.js?version=1"></script>
<script type="text/javascript" src="http//..../jquery/1.7.1/jquery.min.js?k=4747b320-62ce-11cf-a5d6-28db04c10777"></script>