将一个IIS重置强制caching项目被重新发送?

我试图制定一个策略来处理caching的JavaScript文件,CSS,图像等,当我们发布更新到我们的网站。 在我开始在JavaScript文件上实现版本号之前,我想知道如果每次发布后IIS重置都会导致caching文件被重新发送。

当您执行IISReset时,IIScaching将被清除,然后将在客户端请求进入时启动备份后开始重build。如果更新文件,则旧caching文件将变为过时,IIS将为更新后的文件用新文件更新caching。

IISReset(虽然苛刻)将清除IIScaching,但它不会对代理或客户端中的本地caching执行任何操作。 也许你刚刚把这个术语混淆了一下,但是在caching方面却没有任何“憎恨”的概念。 这都是基于请求的。 如果客户端请求某个内容并在caching中find,则会从caching中获取。 如果要保持相同的文件名,则需要强制文件上的内容到期。

不,客户端caching基于内容到期时间。

当您修改一个JavaScript文件时,您需要所有客户端运行Web应用程序来获取新文件,这对我来说显然是“最近的”。

对于每个客户端从服务器获取新文件,您只需要在网页的"?version=1"包含javascript的include / script。

只有一个参数可以是?blue=hello?v=1234155这就是你想要的。 每次更改javascript时,重要的是使用不同的值。 对于第一次更改, "?version=2"对于第二次更改, "?version=2" ,知道下一个值是实用的和单一的。 你也可以使用GUID: "?version=4747b320-62ce-11cf-a5d6-28db04c10777"或者你可以在"?version=4747b320-62ce-11cf-a5d6-28db04c10777"使用date和时间"?version=20130220175025"

示例#1

 <script type="text/javascript" src="http//..../jquery/1.7.1/jquery.min.js?version=1"></script> 

例#2

 <script type="text/javascript" src="http//..../jquery/1.7.1/jquery.min.js?k=4747b320-62ce-11cf-a5d6-28db04c10777"></script>