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):
Das Funktioniert auch einige Zeit. Jedoch kommt manchmal eine Exception wenn viele Verzeichnisse aufgelistet werden sollen:
Weis jemand woran das liegen kann? Ist das ein Fehler in meinem Programm oder vom FTP-Server?
Gruß
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ß