我为客户从我的网站下载内容(视频)创建了一个 HttpHandler (.ashx)。首先我使用的是 WriteFile 方法,我意识到它需要大量内存,然后我决定将其更改为 TransmitFile 方法。
但是发生了一件奇怪的事情,我无法再下载多个。我不得不等待下载完成并开始另一个。
基本上代码是这样的:
System.IO.FileInfo file = new System.IO.FileInfo(file_path);
context.Response.Clear();
if (flagH264)
{
context.Response.ContentType = "video/mp4";
}
else
{
context.Response.ContentType = "video/x-ms-wmv";
}
context.Response.AddHeader("Content-Length", file.Length.ToString());
context.Response.AddHeader("Content-Disposition", "attachment; filename=" + name);
//context.Response.WriteFile(file_path.Trim());
context.Response.TransmitFile(file_path.Trim());
context.Response.Flush();
任何人都可能知道这是什么问题?