我们有一个asp.net网站,有一个名为的文件夹,其中包含Summaries.xlsx
和Totals.txt
的模板。该网站有一个链接供用户查看这些文件。
在将Summaries.xlsx
下载到我的电脑上(即,将一份副本下载到我本地的下载文件夹中(后,我决定编辑网站设置的原始文件。即使编辑并保存在IIS
文件夹中,我仍然在下载没有更改的旧版本。
另一方面,当我编辑文本文件(它显示在浏览器中,并且没有"下载"到我的本地Downloads文件夹中(时,我就会看到更新。
如果我从服务器上删除这两个文件,也会发生同样的事情:我仍然可以下载Excel文件(不存在(,但txt文件将显示404错误。
我知道这是缓存问题,但我不能要求所有用户清除他们的浏览器缓存。
我在forums.iis.net链接中尝试了这个解决方案,但没有帮助。
我也尝试过回收应用程序池,但一无所获。
最后,我安装了Application Request Routing Cache
,但在Actions窗格中看不到Delete All Cached Objects
。
假设asp:HyperLink
在内容页中。您可以创建一个javascript函数,并在NavigateUrl
属性中调用它
<asp:Content ID="BodyContent" ContentPlaceHolderID="MainContent" runat="server">
<script type="text/javascript">
function DownloadFile(url) {
document.location.href = url + "?dt=" + (new Date()).getTime();
}
</script>
<asp:HyperLink runat="server" NavigateUrl="javascript:DownloadFile('/Templates/Summaries.xlsx')"> Summaries </asp:HyperLink>
</asp:Content>