Comment déconnecter correctement à partir d'un serveur FTP avec FtpWebRequest

J'ai créé un client ftp qui se connecte plusieurs fois dans la journée pour récupérer des fichiers journaux à partir d'un serveur FTP.

Le Problème est qu'après quelques heures, je reçois un message d'erreur à partir du serveur FTP (-421 limite de session atteint..). Quand j'ai vérifier les connexions avec netstat, je peux voir à plusieurs "ÉTABLIS" des connexions sur le serveur, même si j'ai "fermé" de la connexion.

Quand j'essaie de faire de même sur la ligne de commande ou FileZilla, les connexions sont correctement fermées.

ftpRequest = (FtpWebRequest)FtpWebRequest.Create(host + "/" + remoteFile);
ftpRequest.Credentials = new NetworkCredential(user, pass);
ftpRequest.UseBinary = true;
ftpRequest.UsePassive = true;
ftpRequest.KeepAlive = true;
ftpRequest.Method = WebRequestMethods.Ftp.DownloadFile;
ftpResponse = (FtpWebResponse)ftpRequest.GetResponse();
ftpStream = ftpResponse.GetResponseStream();
FileStream localFileStream = new FileStream(localFile, FileMode.Create);
int bytesRead = ftpStream.Read(byteBuffer, 0, bufferSize);
/* Resource Cleanup */

localFileStream.Close();
ftpStream.Close();
ftpResponse.Close();
ftpRequest = null;

Comment puis-je fermer/fermer la connexion correctement? Ai-je oublié quelque chose?

OriginalL'auteur user797717 | 2014-06-05