我有一个ASP.NET MVC应用程序,在其中一个控制器上调用操作时会生成PDF文件。 PDF文件在Chrome和Firefox中正确呈现,但当我尝试在IE中打开PDF时,会出现一个空白的HTML页面。
HTTP响应看起来像这样(在Fiddler中捕获):
HTTP/1.1 200 OK
Cache-Control: no-cache, no-store
Pragma: no-cache
Content-Type: application/pdf
Expires: -1
Server: Microsoft-IIS/7.5
X-AspNetMvc-Version: 2.0
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Tue, 01 Feb 2011 09:48:53 GMT
Content-Length: 3176569
<<PDF content>>
当我在IE中执行视图源时,会出现以下HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=windows-1252" http-equiv=Content-Type></HEAD>
<BODY></BODY></HTML>
从Silverlight 4应用程序请求操作。
如果有人知道IE解释HTTP协议的一些怪癖,请回答 - 这可能只是解决了我的问题。该请求是通过HTTPS进行的。
答案 0 :(得分:6)
事实证明,当通过HTTPS提供内容时,Cache-Control
标头的值为no-cache
或no-store
时,Internet Explorer会出现问题。有关详细信息,请访问http://support.microsoft.com/kb/323308。