我有同样的问题,不能提供一个很好的解决方案(除了特德建议,其中是是一个选项)。但看着提琴手&有限公司的情况,我有更多的信息可能有所帮助。
我们的应用程序正在创建PDF文档并提供它们作为下载。这个问题显然是依赖于数据的,这意味着一些生成的文件在第一次尝试时可以很好地下载,而其他生成的文件可重复地需要重试。
就我所知,Fiddler显示服务器响应在每次访问时都是相同的。然而,请求不同,(样品略微编辑):
第一请求:
GET http://localhost:12345/Item/PDF/id HTTP/1.1
Accept: text/html, application/xhtml+xml, */*
Referer: ...
Accept-Language: ...
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
Accept-Encoding: gzip, deflate
Host: localhost:12345
Connection: Keep-Alive
Cookie: ASP.NET_SessionId=52znkt1fcisrolj44tnuyzu4
第二请求:
GET http://localhost:12345/Item/PDF/id HTTP/1.1
Accept: */*
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
Host: localhost:12345
Connection: Keep-Alive
Cookie: ASP.NET_SessionId=52znkt1fcisrolj44tnuyzu4
笔记,所述第二请求是如何减少 '接受:' 标题只是*/*
。我不愿意向Url添加文件扩展名的原因是建议的下载名称是从项目数据生成的,与响应一起提交,否则与ID完全无关。
什么版本的IE? – Joe 2012-03-07 22:12:13
我已更新该问题。 – 2012-03-08 14:01:39
安装fiddler并让它在您发出第一个请求时运行。您将能够检查从服务器返回的响应。也许这会对这个问题有所了解。 http://www.fiddler2.com/fiddler2/ – Joe 2012-03-08 17:24:45