【发布时间】:2015-09-02 02:31:03
【问题描述】:
我刚开始为我工作的公司管理一个网站,它仍在使用 ASP Classic 运行,所以我必须学习很多东西。
最近,我们的管理层开始每隔几个小时将动态更新的 PDF 发布到网站上。
我遇到的问题是,尽管更改了标题以防止这种情况发生,但一些访问该文件的用户现在正在获取旧的缓存版本。
所以在我寻找解决方案的过程中,我遇到了这个 Stack Overflow 帖子 Right way to have asp.net not cache pdf files
但它是为 ASP.NET 而不是 ASP Classic 编写的,但由于该帖子,我能够使用 VBScript 提出一个可行的解决方案,并认为我应该与其他人分享。
【问题讨论】:
-
几件事... 1. 使用客户端代码来生成它是多余的 2 使用客户端 VBScript 仅适用于Internet Explorer 浏览器的版本(事实上,即使 Microsoft 也不支持在 Edge 模式下运行的 IE 11 中,这说明了什么!)。 3 通过 noscript 等禁用代码将使该解决方案无用。
-
如果您可以访问动态更新的 PDF (我假设通过 Classic ASP 使用一些 ActiveX 组件,例如 Persits.PDF) 那么您应该使用 HTTP 标头来控制从服务器缓存到浏览器。如果它不起作用,那么你做错了,或者浏览器 (我假设是 IE) 覆盖了
no-cache请求,在这种情况下附加随机字符串效果很好。 -
修改标题不适用于访问此文件的所有客户端,此外我们公司非常受限于我们仍在使用 IE9 的浏览器。
标签: pdf caching asp-classic