我想在问之前我可以尝试一下,但我想确保在我浪费任何时间之前它是可能的。
我正在尝试消除对内存或物理文件缓冲区的需求。我想通过HTTP或FTP(或其他任何东西)下载文件,当流程被填满时,我想同时开始将该流(通过HTTP,FTP等)上传到其他地方。
这在.NET中是否可行?我认为“传统上”这样做的唯一方法是首先允许流完成,然后将该流从内存复制到另一个流,但我想使用最少量的资源(时间,内存等)可能的。
答案 0 :(得分:7)
这完全可能,没问题;但是你不会使用相同的流,你会使用两个不同的流,并在循环中将数据从输入传递到输出。
答案 1 :(得分:1)
应该没问题。最新版本的.Net支持Stream.CopyToAsync(otherStream)
(或其non-async counterpart),这对您来说几乎是一个完整的解决方案。