1
我为客户端从我的网站上下载内容(视频)创建了一个HttpHandler(.ashx)。首先我使用WriteFile方法,我意识到它需要大量内存,然后决定将其更改为TransmitFile方法。使用Response.TransmitFile时不能多次调用处理程序ashx
但是发生了一件奇怪的事情,我无法再做一次以上的下载。我不得不等待下载完成并启动其他。
基本上代码是这样的:
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();
任何人都可以知道这是什么问题呢?