C# asp.net网站的计算机文件缓存问题

C# asp.net网站的计算机文件缓存问题,c#,asp.net,sharepoint,caching,C#,Asp.net,Sharepoint,Caching,这可能是一些我忽略或不知道的“最佳实践”,所以请对我放松点 我有一个asp.net网站,它用数据库表中的列填充gridview。其中一列被处理为指向另一台服务器上word文档的链接。问题是,如果用户单击word文档查看文档,然后该文档在远程服务器上更新,则用户无法访问更改的文档,直到清除浏览器缓存,并在单击链接时强制其转到网络以获取新副本 基本上,我想以某种方式强迫机器永远不要使用文档的缓存副本,而是总是到网络上获取最新的副本 附加问题:将文档存储在SharePoint中是否能更好地处理此问题

这可能是一些我忽略或不知道的“最佳实践”,所以请对我放松点

我有一个asp.net网站,它用数据库表中的列填充gridview。其中一列被处理为指向另一台服务器上word文档的链接。问题是,如果用户单击word文档查看文档,然后该文档在远程服务器上更新,则用户无法访问更改的文档,直到清除浏览器缓存,并在单击链接时强制其转到网络以获取新副本

基本上,我想以某种方式强迫机器永远不要使用文档的缓存副本,而是总是到网络上获取最新的副本

附加问题:将文档存储在SharePoint中是否能更好地处理此问题


更新:使用
Response.Cache.SetCacheability(HttpCacheability.NoCache)
在我的codebehind中,我已经在FireFox中解决了这个问题,但是IE8很奇怪。如果我更新文档,然后左键单击它,它会在IE窗口中显示单词doc,而不做任何更改。但是,如果我做了更改,保存它们,然后在文档上单击鼠标中键,这样它就会打开一个新选项卡,文档会反映更改。我大部分时间都在那里…

碰巧你在IE8上看到了这一点吗?我们已经看到它显示了以前缓存不是问题的这种行为


通常可以通过两个步骤来清除:显式地告诉浏览器不要通过HTTP头缓存,以及立即终止页面。用谷歌搜索“pragma no cache”标题,通常需要添加两行不同的代码来覆盖所有浏览器。

你是否在IE8中看到了这一点?我们已经看到它显示了以前缓存不是问题的这种行为


通常可以通过两个步骤来清除:显式地告诉浏览器不要通过HTTP头缓存,以及立即终止页面。用谷歌搜索“pragma no cache”标题,通常需要添加两行不同的内容来覆盖所有浏览器。

尝试向链接添加一些额外的数据。下面是一个使用js的示例;如果您正在构建url服务器端,它应该基本相同:

var url=“”+(新日期()).getTime()


这将迫使url每次都有一个不同的查询url,这(理论上)将迫使浏览器重新请求并重新下载它。

尝试向链接添加一些额外的数据。下面是一个使用js的示例;如果您正在构建url服务器端,它应该基本相同:

var url=“”+(新日期()).getTime()


这将迫使url每次都有一个不同的查询url,这(理论上)将迫使浏览器重新请求并重新下载它。

事实上,这在所有浏览器中都会发生,直到现在我才真正处理它。我的同事使用IE7,我和我的老板使用Firefox,同样的问题。谢谢你的指导。事实上,这在所有浏览器中都会发生,我只是到现在才真正处理它。我的同事使用IE7,我和我的老板使用Firefox,同样的问题。谢谢你的指导。