Hi,

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

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
            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ß