我们遇到的问题是,在部署代码之后,我们的客户端将提供过时的js,css文件。我们使用IIS作为我们的网络服务器,我们的代码在ASP.Net 4.5中。我做了一些研究,并发现ETag与Cache-control一起工作。据我所知,ETag是由Web服务器根据文件的日期时间戳自动生成的,所以我运行了以下步骤,看看为什么系统没有发送最新版本的js和css文件。
当我访问我的demo.aspx页面时,我不知道为什么没有请求.js文件。
此外,是否有任何简单的方法可以强制客户端浏览器在每次部署代码时下载最新版本的.js和.css文件。根据我的研究,我确实发现一种方法是重命名.js和.css文件。请注意,这个消息对我们不起作用。
我们在项目中使用更新面板。不确定这是否与浏览器第二次没有请求js文件有关
答案 0 :(得分:0)
一个广泛使用的技巧是添加一个查询字符串参数,该参数随每个新版本的css
或js
文件递增。
赞myScript.js?version=12
。当数字发生变化时,浏览器会将其视为新文件并将其下载而不是从缓存中检索。
只需通过编辑文件来更改时间戳,浏览器就无法从服务器获取时间戳。您可以通过从网站保存图像或文件来尝试此操作,它们都具有下载时间的时间戳。