.net并行FtpWebRequest文件上传/下载的最佳方式

时间:2013-10-18 07:19:58

标签: .net .net-2.0 ftpwebrequest

在相关问题How to improve the Performance of FtpWebRequest?中,并列提到了并行异步上传/下载,适用于需要传输大量文件的情况。

MSDN上有一个异步上传的例子。 我没有找到任何关于如何编程并行线程的例子。 所以我的问题是:

//编辑问题:

设置并行异步上传/下载和收集回复的正确方法是什么?

执行数百或数千次异步调用。 FtpWebRequest.BeginGetRequestStream刚刚排队?没有记忆问题?

或者,设置ftpRequest.ServicePoint.ConnectionLimit的次数与之后的召回次数相同,是否会表现得更好?

1 个答案:

答案 0 :(得分:1)

在FtpControlStream中有一个名为QueueOrCreateConnection的私有方法意味着它将被排队,但是,即使在队列中,排队的调用也可能会超时(因此,如果排队数千,那么最后一项可能会有在它到达之前超时) - 虽然我不完全确定。这是基于Reflector,而不是经验或测试(所以我建议你自己测试)。

我无法在此处发布Reflector代码,因此我建议您自己查找。