我有一个asp.net应用程序,它根据aspx页面中的一些数据点击按钮动态生成pdf文件。
这在IE8上运行得非常好,但现在在IE10中,用户总是获得缓存版本,并且没有获得最新的pdf,并且每次用户必须清除时态的互联网文件,以获得最新版本。
这让我疯了!请帮忙!
请注意:F5,ctrl + F5,每次更改IE缓存属性以加载新页面都不是一个选项,因为我不能要求每个用户都这样做!
我将它写入水晶报告模板并将其作为pdf导出到服务器上的本地文件夹,然后使用javascript(window.open())在浏览器中打开它
以下相关代码:
string fileName = "PCT_" + this.ContractNoTextBox.Text.Trim() + "_" + this.ContractTypeList.SelectedValue[0] + "_" + this.VersionTextBox.Text.Trim();
string physicalFilePath = System.Web.Hosting.HostingEnvironment.ApplicationPhysicalPath + "ExportData\\" + fileName + ".pdf";
//Delete the file if it exists
if (File.Exists(physicalFilePath))
{
File.Delete(physicalFilePath);
}
reportdocument.ExportToDisk(ExportFormatType.PortableDocFormat, physicalFilePath);
string filePathToExport = Request.Url.AbsoluteUri.Remove(Request.Url.AbsoluteUri.LastIndexOf("/")) + @"/ExportData/" + fileName + ".pdf";
string openFileScript = "window.open('" + filePathToExport + "', '_blank');";
PS:当我在localhost上调试时,这实际上是有效的,只有当我在服务器上部署它时才能工作。
Plzzz帮助!!
答案 0 :(得分:0)
最好的解决方案是我猜,到处都有! Right way to have ASP.NET / IIS NOT cache PDF files
但我仍然想知道在visual studio中调试时会有什么不同!