質問: true; HttpContext.ApplicationInstance.CompleteRequest(); 3)「Response.End();」を以下のように変更 Response.Flush(); 4)「Response.End();」を以下のように変更 HttpContext.Response.End(); 5)ダウンロード処理自体を以下のように変更 return File( path , "application/octet-stream", file ); ■その他 〇あるユーザーは全くダウンロードできなくなっている時に、他のユーザはダウンロードできている、という場合も有。 〇処理側で拾えるログは、「リモート ホストは接続を終了しました。エラー コードは 0x800703E3 です。」くらい。ダウンロードのセッションが切れる/消滅している? 〇ダウンロードファイルのサイズは800M位。 〇ダウンロードエラーが発生してしまう時にCPU、メモリ等の異常は特にみられない 〇ダウンロードエラーが発生している時、他の処理は通常通り動作&異常は発生していない。 〇ダウンロードエラーが発生している時、キャッシュのクリアはしている。
回答: 問題はクライアントとサーバーに間にあって、サーバーの Web アプリのダウンロードのコードを書き換えても改善しないと思いますが、MVC4 で間違いないとのことですので、MVC4 での普通のやり方、即ち Controller.File メソッドを使うやり方を紹介しておきます。 例えば、アプリケーションルートの Files というフォルダにある test.pdf という PDF ファイルをダウンロードする場合以下のようにします。 ``` public ActionResult FileDownload() { string fileName = Server.MapPath("~/Files/test.pdf"); return File(fileName, "application/pdf", "test.pdf"); } ``` クライアントからは、 http://<ホスト名>/<コントローラ名>/FileDownload で呼び出せば、通知バーが表示されてダウンロードできます。 詳しくは以下の記事を見てください。 MVC でファイルのダウンロード 不明点があればコメント欄で聞いてください。 何か事情があって、質問のコードのように HttpResponse を使いたいということであれば、以下の記事のようにすることをお勧めします。 ダウンロードは HTTP ハンドラで