特定の情報を含む 50,000 レコードを生成するアプリケーションがあります。生成されてデータベースに保存されると、ユーザーはいつでもコントロール パネルからレコードを csv としてダウンロードできます。
私が得ている問題は、CSV を生成するのに最大 40 秒以上かかることです。しかし、その処理が完了するまでに、ブラウザーはダウンロードを試みなくなります。代わりに、ハングするだけです。
現在、タイムアウト値を高く設定しているため、処理がタイムアウトしません。また、関連するライブデータを含める必要があるため、オンザフライで生成する必要があります。
ファイルが生成されるのを待ってからダウンロードしない理由を知っている人はいますか?
生成された後に応答するヘッダーは次のとおりです。
//**generate the csv as string here, and then...**
Response.Clear();
Response.AddHeader("content-disposition", string.Format("attachment;filename=file_{0}.csv", batchId));
Response.ContentType = "text/csv";
Response.Write(csv);
Response.End();