我有一个 ASP.NET Web 应用程序,它创建一个文本文件报告,然后重定向到该文件。
Response.Redirect(strFileName);
问题是 IE9 在缓存方面似乎做了一些不同的事情。如果我生成两个报告,IE9 始终显示生成的第一个报告。我必须按 CTRL+F5 才能查看更新的文件。在任何其他浏览器上都不会出现此问题。
我尝试添加命令来更改缓存,但没有成功。
Response.Cache.SetNoStore();
Response.Cache.SetCacheability(HttpCacheability.NoCache);
我想保留生成文本文件以进行记录的功能。一种解决方案是将文本文件中的所有信息转储到页面上并避免 Response.Redirect,但这看起来更像是一种黑客行为,而不是真正的修复。有没有办法强制 IE 重新加载文本文件?
最佳答案
你可以使用版本之类的东西。
string strFileName = GetReportUrl();
string version = GetCurrentReportVersion(); // - or to use DateTime.Now.ToString();
string url = string.Format("{0}?v={1}", strFileName, version);
Response.Redirect(url);
在这种情况下,浏览器将始终使用最新的报告版本。
关于c# - IE9 缓存文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14279621/