[C#] FTP-Verzeichnisse rekursiv auslesen

Raven280438

Erfahrenes Mitglied
Hi,

ich möchte Verzeichnisse von einem FTP-Server rekursiv auslesen. Dazu hab ich unter Anderem folgenden Code-Schnipsel (aus einer rekursiven Methode):

Code:
            FtpWebRequest FTPWebRequest = null;
            FtpWebResponse FTPWebResponse = null;

            StreamReader reader = null;

            try
            {
                FTPWebRequest = (FtpWebRequest)FtpWebRequest.Create("ftp://" + this.Server + "/" + dir + "/");
                FTPWebRequest.Credentials = new NetworkCredential(this.USER, this.PASS);
                FTPWebRequest.Method = WebRequestMethods.Ftp.ListDirectoryDetails;
                FTPWebRequest.UseBinary = true;
                FTPWebRequest.UsePassive = true;
                FTPWebRequest.Timeout = 5000;

                FTPWebResponse = (FtpWebResponse)FTPWebRequest.GetResponse();

                reader = new StreamReader(FTPWebResponse.GetResponseStream());
            }
            catch (Exception ex)
            {
                this.Invoke((MethodInvoker)delegate()
                {
                    this.tB_Process.AppendText("Das Verzeichnis " + dir + " konnte nicht ausgelesen werden:" + Environment.NewLine + ex.Message) ;
                });
                return;
            }

            this.Invoke((MethodInvoker)delegate()
            {
                this.tB_Process.AppendText("Lese Verzeichnis " + dir + "..." + Environment.NewLine);
            });

            List<String> Verzeichnisse = new List<String>();

            while (reader.Peek() >= 0)
            {
                String Line = reader.ReadLine();
                Verzeichnisse.Add(Line);
            }
            if (FTPWebResponse != null)
            {
                FTPWebResponse.Close();            //HIER KOMMT DIE EXCEPTION
            }

Das Funktioniert auch einige Zeit. Jedoch kommt manchmal eine Exception wenn viele Verzeichnisse aufgelistet werden sollen:
Der Remoteserver hat einen Fehler zurückgegeben: (451) Lokaler Verarbeitungsfehler.

Weis jemand woran das liegen kann? Ist das ein Fehler in meinem Programm oder vom FTP-Server?


Gruß
 

Neue Beiträge

Zurück