我的当前项目下载管理器工具有这样的代码(用于从文件共享下载大文件,在shcedule上):
using (var destinationFileStream = new FileStream(sourceFilename, FileMode.OpenOrCreate, FileAccess.Write))
{
using (var file = new FileStream(filename, FileMode.Open, FileAccess.Read, FileShare.Read, buffer.Length, false))
{
while (true)
{
if (file.Read(buffer, 0, buffer.Length) <= 0)
break;
destinationFileStream.Write(buffer, 0, buffer.Length);
....
... Bandwidth throttling Code
....
}
}
}
如果我将其转换为 FileStream.ReadAsync 代码,仍然必须使用拆分文件来缓冲大小逻辑并下载或这是由.net内部处理的吗? < / p>