У меня та же проблема, и я не могу предложить хорошее решение (кроме того, что предлагает Туд, который является опцией).Но, глядя на ситуацию с fiddler & co., У меня есть еще кое-какая информация, которая может вам помочь.
Наше приложение создает документы 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-адресу, заключается в том, что предлагаемое имя загрузки создается из данных элемента, отправляется с ответом и в остальном полностью не связано с идентификатором.