Génération de PDF, erreur avec IE et HTTPS

Je suis de la diffusion d'un fichier PDF dans le navigateur ASP.NET 2.0. Cela fonctionne dans tous les navigateurs via HTTP, et tous les navigateurs sauf IE sur HTTPS. Autant que je sache, cette habitude de travailler (au cours des 5 dernières années) dans toutes les versions d'IE, mais nos clients ont que récemment commencé à signaler des problèmes. Je soupçonne que le Ne pas enregistrer les pages cryptées sur le disque option de sécurité utilisé pour être désactivés par défaut et à un certain point est activé par défaut (Options Internet -> Avancé> Sécurité). La désactivation de cette option permet, comme un travail, mais n'est pas viable comme solution à long terme.

Le message d'erreur que je reçois est:

Internet Explorer ne peut pas télécharger OutputReport.aspx partir de www.sitename.com.

Internet Explorer n'a pas pu ouvrir ce site Internet. Le site requis n'est pas disponible ou ne peut être trouvé. S'il vous plaît essayer à nouveau plus tard.

L'outil utilisé pour créer le fichier PDF est ActiveReports de DataDynamics. Une fois le fichier PDF est créé, voici le code à envoyer vers le bas:

Response.ClearContent()
Response.ClearHeaders()
Response.AddHeader("cache-control", "max-age=1")
Response.ContentType = "application/pdf"
Response.AddHeader("content-disposition", "attachment; filename=statement.pdf")
Response.AddHeader("content-length", mem_stream.Length.ToString)
Response.BinaryWrite(mem_stream.ToArray())
Response.Flush()
Response.End()  

Remarque: Si je n'ai pas spécifier explicitement le contrôle du cache, ensuite .NET n'envoie pas de cache sur mon compte, j'ai donc tenté la mise en cache-control: public ou privé ou maxage=#, mais aucune de ces semblent fonctionner.

Voici le twist: quand je lance un violon pour inspecter les en-têtes de réponse, tout fonctionne bien. Les en-têtes que je reçois sont:

HTTP/1.1 200 OK
Cache-Control: max-age=1
Date: Wed, 29 Jul 2009 17:57:58 GMT
Content-Type: application/pdf
Server: Microsoft-IIS/6.0
MicrosoftOfficeWebServer: 5.0_Pub
X-Powered-By: ASP.NET
X-AspNet-Version: 2.0.50727
content-disposition: attachment; filename=instruction.pdf
Content-Encoding: gzip
Vary: Accept-Encoding
Transfer-Encoding: chunked

Dès que je tourne Violoniste hors tension et essayez de nouveau, il échoue à nouveau. Une autre chose que j'ai remarqué c'est que quand Fiddler est en cours d'exécution, je reçois un Il y a un problème avec ce site web de certificat de sécurité message d'avertissement, et je dois cliquer sur Poursuivre sur ce site web (non recommandé) pour passer à travers. Quand Fiddler est éteint, je ne rencontre pas cet avertissement de sécurité et il ne parvient pas tout de suite.

Je suis curieux de savoir ce qui se passe entre le Violoniste et le navigateur de sorte qu'il fonctionne quand Fiddler est en cours d'exécution, mais se casse quand il ne l'est pas, mais plus important encore, quelqu'un a une idée comment je pourrais modifier mon code pour le streaming de fichiers Pdf pour IE travail sans apporter de modifications à la machine client?

mise à Jour: Le Violoneux les problèmes sont résolus, je vous remercie beaucoup EricLaw, alors maintenant il se comporte de manière uniforme (cassé, avec ou sans Fiddler en cours d'exécution).

Basée sur la recherche sur Google, il semble y avoir beaucoup de rapports de cette même question sur le web, chacun avec son propre combinaison des en-têtes de réponse qui semble corriger le problème, pour les cas individuels. J'ai essayé plusieurs de ces suggestions, y compris l'ajout d'un ETag, date de dernière modification, suppression de l'en-tête Vary (à l'aide de Fiddler) et des dizaines de combinaisons de Cache-Control et/ou Pragma-têtes. J'ai essayé le "Content-Transfer-Encoding: binary" ainsi que "application/force-download" pour le ContentType. Rien n'a aidé jusqu'à présent. Il y a un quelques Microsoft KO articlesqui indiquent tous que Cache-Control: no-cache est le coupable. D'autres idées?

mise à Jour: Par la façon dont, par souci d'exhaustivité, ce même problème se produit avec Excel et Word sorties.

mise à Jour: Aucun progrès n'a été fait. J'ai contacté l' .SAZ fichier à partir d'un violon pour EricLaw et il a été en mesure de reproduire le problème lors du débogage d'IE, mais il n'y a pas de solutions encore. Bounty va expirer...

source d'informationauteur wweicker