gpt4 book ai didi

asp.net 中的 Javascript 和 css 缓存

转载 作者:行者123 更新时间:2023-11-29 15:44:07 24 4
gpt4 key购买 nike

我知道这个问题被问过很多次,最常见的答案是:

  1. 使用 .htaac​​cess 文件进行自动版本控制。
  2. 虽然完全不推荐使用版本号作为查询参数 例如:“/scripts/script1?v=1.0.0”。这将导致浏览器不缓存文件,而是完成工作。

我正在处理一些发布后问题,由于我们不遵循这样的软件元素生命周期,因此我们会在测试和修复问题时更新网站。因此,有时我们可能不得不每天多次更新网站,而不是一周不更新。

我不确定是否有办法让我仍然可以利用缓存的优势,同时不需要让用户刷新页面/清除缓存来查看最新更改。

如果我需要这样做,有什么方法可以在 asp.net 中实现 .htaac​​cess 解决方案吗?

非常感谢任何帮助。

最佳答案

这是我用于 css 文件的解决方案,但应该适用于 JS:在 htaccess 中有一条规则:

RewriteRule ^(.*)_ver_.*(\..*)$ $1$2 [NC,L]

它采用诸如“Style_ver_12345.css”之类的文件名并将其重写为 Style.css。

然后,当您包含文件时,附加实际文件的 LastWriteTime(File.GetLastWriteTime(filePath).Ticks.ToString() 是我的做法)作为版本号。我的示例文件名是 Style_ver_634909902200823172.css

这将确保文件的任何更改都会立即产生新的版本号,而物理文件不需要有不同的名称,并且文件会被浏览器缓存。

用户仍然需要刷新页面,但他们不必清除缓存。如果需要,也许您可​​以通过 ajax 调用强制刷新,该调用将加载的脚本版本号与服务器上的版本号进行比较。服务器上的较新版本可能会强制刷新。

关于asp.net 中的 Javascript 和 css 缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14449140/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com