c# - IE9 缓存文本文件

标签 c# asp.net internet-explorer web-applications

我有一个 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/

相关文章:

c# - 可移植类库的 Entity Framework

C# DLL 从 C++ 应用程序调用 SOAP Web 服务

c# - 查看死锁后的堆栈跟踪

c# - 什么是部署简单服务/守护进程(具有简单 UI)的最佳跨平台方法(Windows/Mac)

java - 无法从 Java Web 服务获取数据

javascript - 在代码隐藏中即时创建 css 类

javascript - 如何在部分回发时保留 ASP 文本框的类

javascript - 为什么这个 JSON 在 IE 中不起作用

internet-explorer - lte IE8 的背景大小解决方法?

css - Microsoft Edge/IE SVG 变换缩放动画不起作用