У меня такая же проблема, и я не могу предложить хорошее решение (помимо того, что предлагает Tood, - вариант). Но, глядя на ситуацию со скрипачом &, у меня есть дополнительная информация, которая может быть полезной.
Наше приложение создает документы 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
Обратите внимание, как второй запрос уменьшает 'Accept:' заголовок просто */*
. Причина, по которой я неохотно добавляю расширение файла к Url, заключается в том, что предлагаемое имя загрузки создается из данных элемента, отправляется с ответом и в противном случае полностью не связано с идентификатором.
какая версия есть? – Joe
Я обновил вопрос. –
Установите скрипт и запускайте его, когда вы делаете первый запрос. Вы сможете проверить ответ, возвращаемый с сервера. Возможно, это прояснит проблему. http://www.fiddler2.com/fiddler2/ – Joe