【发布时间】:2021-08-22 14:46:18
【问题描述】:
我们有一个 asp.net 网站,其中有一个名为 templates 的文件夹,其中包含 Summaries.xlsx 和 Totals.txt。该网站有一个链接供用户查看这些文件。
在将Summaries.xlsx 下载到我的PC 后(即副本已下载到我的本地下载文件夹),我决定编辑设置网站的原始文件。即使在编辑并保存在IIS 文件夹中之后,我仍在下载旧版本而没有进行任何更改。
另一方面,一旦我编辑了文本文件(显示在浏览器中并且没有“下载”到我的本地 Downloads 文件夹),我就会看到更新。
如果我从服务器上删除这两个文件,也会发生同样的情况:我仍然可以下载 Excel 文件(不存在),但 txt 文件会显示 404 错误。
我知道这是缓存问题,但我不能要求所有用户清除浏览器缓存。
我尝试了这个forums.iis.net 链接中的解决方案,但没有帮助。
我也尝试过回收应用程序池,但没有。
最后,我安装了Application Request Routing Cache,但在“操作”窗格中没有看到Delete All Cached Objects。
【问题讨论】:
-
我们在下载 URL 中附加了一个随机查询字符串。以便每次您单击链接时都将其视为新请求。
var url = "http://whatever.com/Templates/Summaries.xlsx?dt=" + (new Date()).getTime(); -
谢谢。这可以包含在
asp:HyperLink的navigateurl属性中吗? -
“我仍然可以下载 Excel 文件(不存在)”。这听起来不对。我不知道怎么做,但我会调查一下,除了chaching。就像删除服务器上的文件和你的下载文件夹(或本地任何地方),看看会发生什么。看看你是真的从浏览器获取文件,还是从本地目录获取文件。
-
即使服务器中不存在 excel 文件,我也可以直接下载它,但前提是我以前下载过它。
-
@fdkgfosfskjdlsjdlkfsf 超链接是否在内容页面内?
<asp:Content></asp:Content>