ユーザーに大きなファイルのダウンロードを提供するためのasp.net Webページがあります。このページは、IIS7、Windows Server 2008 でホストされています。
奇妙なことに、コンテンツ長の応答ヘッダーを追加しない場合、ユーザーは適切な速度 (2MB/秒) でダウンロードできますが、このヘッダーを追加するとすぐに、ダウンロード速度が約 35kbps/秒に低下します。
これはコードです:
Response.Clear();
Response.ClearContent();
Response.ClearHeaders();
Response.ContentType = "application/octet-stream";
//speed drops when I add this line:
//Response.AddHeader("Content-Length", new FileInfo(filepath).ToString());
Response.AddHeader("Content-Disposition", "attachment; filename=" + filename);
Response.TransmitFile(filepath);
Response.Flush();
もちろん、コンテンツの長さを省略することもできますが、ユーザーはファイルの大きさやダウンロードにかかる時間を知ることができません...これは面倒です。
このダウンロード速度の大きな変化の原因は何ですか?
洞察を事前にありがとう!