在相关问题How to improve the Performance of FtpWebRequest?中,并列提到了并行异步上传/下载,适用于需要传输大量文件的情况。
在MSDN上有一个异步上传的例子。 我没有找到任何关于如何编程并行线程的例子。 所以我的问题是:
//编辑问题:
设置并行异步上传/下载和收集回复的正确方法是什么?
执行数百或数千次异步调用。 FtpWebRequest.BeginGetRequestStream
刚刚排队?没有记忆问题?
或者,设置ftpRequest.ServicePoint.ConnectionLimit
的次数与之后的召回次数相同,是否会表现得更好?
答案 0 :(得分:1)
在FtpControlStream中有一个名为QueueOrCreateConnection的私有方法意味着它将被排队,但是,即使在队列中,排队的调用也可能会超时(因此,如果排队数千,那么最后一项可能会有在它到达之前超时) - 虽然我不完全确定。这是基于Reflector,而不是经验或测试(所以我建议你自己测试)。
我无法在此处发布Reflector代码,因此我建议您自己查找。