Tengo el mismo problema y no puedo ofrecer una buena solución (además de lo que sugiere Tood, que es una opción). Pero mirando la situación con el violín & co., Tengo algo más de información que puede ser de ayuda.
Nuestra aplicación está creando documentos PDF sobre la marcha y los ofrece como descargas. El problema es claramente dependiente de los datos, lo que significa que algunos archivos generados se descargan bien en el primer intento, mientras que otros reproduciblemente necesitan el reintento.
Fiddler muestra que las respuestas del servidor son idénticas en cada acceso, por lo que puedo ver. Las solicitudes difieren, sin embargo (muestras con pequeñas modificaciones):
Primera solicitud:
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
segunda petición:
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
Nota, cómo la segunda solicitud reduce el 'Accept:' cabecera a poco */*
. La razón por la que soy reacio a agregar una extensión de archivo a la Url es que el nombre de descarga sugerido se genera a partir de los datos del artículo, se envía con la respuesta y no está relacionado con la ID.
qué versión de decir? – Joe
He actualizado la pregunta. –
Instala el violín y hazlo funcionar cuando realices la primera solicitud. Podrá inspeccionar la respuesta del servidor. Quizás eso arroje algo de luz sobre el tema. http://www.fiddler2.com/fiddler2/ – Joe