我们有两种方法:
Task DownloadFromAToStreamAsync(Stream destinationStream);
Task UploadToBFromStreamAsync(Stream sourceStream);
现在我们需要从A下载内容并通过一次操作将其上传到B.
其中一个解决方案:
using (var stream = new MemoryStream())
{
await DownloadFromAToStreamAsync(stream);
stream.Seek(0, SeekOrigin.Begin);
await UploadToBFromStreamAsync(stream);
}
但是这个解决方案需要将整个流内容加载到内存中。
如何更有效地解决任务?
答案 0 :(得分:0)
更改下载方法以接受附加大小参数,该参数指示下载量。然后循环下载和上传,直到下载返回空流。