2016-08-03 3 views
0

で繰り返し要求が発生し、私は次のように呼ばれているMVCのアクションを持っています:MVC FilePathResultアクションクローム

return File(filename, "application/pdf"); 

これはChromeの場合を除いて、すべての罰金は要求が2回発生します。リクエストはFirefoxとIE11で一度だけ行われます。

元の要求

GET http://localhost/DEV-SAF/Report/PrintContainerMasterTrayList?containerMasterId=x&type=downloadview HTTP/1.1 Host: localhost Connection: keep-alive Cache-Control: max-age=0 Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 Accept-Encoding: gzip, deflate, sdch Accept-Language: en-GB,en;q=0.8 Cookie: .ASPXANONYMOUS=-

2要求

GET http://localhost/DEV-SAF/Report/PrintContainerMasterTrayList?containerMasterId=x&type=downloadview HTTP/1.1 Host: localhost Connection: keep-alive User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36 Accept: */* Referer: http://localhost/DEV-SAF/Report/PrintContainerMasterTrayList?containerMasterId=x&type=downloadview Accept-Encoding: gzip, deflate, sdch Accept-Language: en-GB,en;q=0.8

が両方の要求からの応答がその4MBのファイルまで(この場合、同じです余分な帯域幅を使用しています)。

この現象の原因は何ですか?

編集

第一の要求からの応答が HTTP/1.1 200 OK Cache-Control: private, s-maxage=0 Content-Type: application/pdf Server: Microsoft-IIS/10.0 Set-Cookie: .AUTH=xxxxxx; path=/; HttpOnly X-AspNetMvc-Version: 5.2 Date: Wed, 03 Aug 2016 14:17:41 GMT Content-Length: 3999

である第二の要求からの応答をして、あなたのアクションに応答するのContent-Dispositionヘッダーを追加してみ HTTP/1.1 200 OK Cache-Control: private, s-maxage=0 Content-Type: application/pdf Server: Microsoft-IIS/10.0 X-AspNetMvc-Version: 5.2 Date: Wed, 03 Aug 2016 14:17:46 GMT Content-Length: 3999

+0

貼り付けのリクエストが同じではありません。たとえば、クエリ文字列のcontainerMasterId = 94101とcontainerMasterId = xを比較してください。 –

+0

私はコピーして貼り付けてくれて申し訳ありません。投稿を編集しました。 – Fishcake

+0

これらの2つのリクエストは一緒に、または1つずつ起動しますか? –

答えて

0

です次のコンテンツ「添付ファイル;ファイル名= test.pdf」または単に「添付ファイル」

Response.AppendHeader("Content-Disposition", "attachment"); 
+0

これはリクエストが2回行われるのを防ぎますが、ユーザーにダウンロードダイアログを提供し、ブラウザにPDFを表示させたいだけです。 – Fishcake

+0

これは、既知のクロムのpdfプラグインのバグのようです:https://bugs.chromium.org/p/chromium/issues/detail?id=587709 可能なdublicate http://stackoverflow.com/questions/1817750/do-ほとんどのブラウザ - make-multiple-http-requests-within-t-within-tから –

+0

クロームバグを見つけたことに感謝してクロムプラグインを疑っているとコメントしたところです。 – Fishcake