考虑到我们有两种方法:
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);
}
但是这个解决方案需要将整个流内容加载到内存中。
如何更高效地解决任务?
最佳答案
更改下载方法以接受一个额外的大小参数,该参数指示要下载多少。然后循环下载和上传,直到下载返回一个空流。
关于c# - 流通过,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28847137/