Plusieurs fichiers dans le téléchargement .NET via FTP
Question
Je pense à l'aide du code ci-dessous, mais je veux transférer des centaines de fichiers et il ne semble pas viable pour connecter et déconnecter à chaque transfert de fichiers.
request = (FtpWebRequest) FtpWebRequest.Create(FtpAddress + file);
request.Method = WebRequestMethods.Ftp.UploadFile;
request.Credentials = new NetworkCredential(User, Pass);
request.UsePassive = IsPassive;
request.UseBinary = true;
request.KeepAlive = false;
FileStream fs = File.OpenRead("");
byte[] buffer = new byte[fs.Length];
fs.Read(buffer, 0, buffer.Length);
fs.Close();
Stream ftpStream = request.GetRequestStream();
ftpStream.Write(buffer, 0, buffer.Length);
ftpStream.Close();
Quelles sont les options possibles pour télécharger tous ces fichiers à l'aide d'une seule connexion?
La solution
Je n'ai pas vérifié cela est vrai, mais dans mon rapide recherche 30 secondes, si vous définissez
request.KeepAlive = true;
sur chaque demande, vous créez sauf le dernier, apparemment seul le premier FtpWebRequest fait une connexion de connexion complète.
Ensuite, lorsque vous créez la dernière FtpWebRequest, set
request.KeepAlive = false;
et il fermera la connexion lorsque vous avez terminé. Vous pouvez vérifier si vous avez accès aux journaux du serveur FTP.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow