Asterix-Ac
Erfahrenes Mitglied
Hallo zusammen,
bin dabei eine FTP-Connection zu basteln und dabei ist mir aufgefallen, dass die Connection die dann aufgebaut ist, nur geschlossen werden kann, wenn man die Anwendung schließt.
Ich habe folgende vorläufige statische Methode, um ein DateiListing zu laden:
In meinem Gui-Projekt rufe ich von meinem Hauptfenster aus ein Dialog auf, in dem das DateiListing zu sehen ist. Doch wenn ich das DialogFenster schließe, bleibt die Connection bestehen. Erst, wenn ich die komplette Anwendung schließe, wird auch die Connection beendet.
Wie kann ich dieConnection beenden, wenn ich den Dialog schließe?
Asterix
bin dabei eine FTP-Connection zu basteln und dabei ist mir aufgefallen, dass die Connection die dann aufgebaut ist, nur geschlossen werden kann, wenn man die Anwendung schließt.
Ich habe folgende vorläufige statische Methode, um ein DateiListing zu laden:
Code:
public static string[] GetFileList(string ftpServerIP, string ftpUserID, string ftpPassword, string ftpPath)
{
string[] downloadFiles;
StringBuilder result = new StringBuilder();
FtpWebRequest reqFTP;
StreamReader reader;
WebResponse response;
try
{
reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri("ftp://" + ftpServerIP + ftpPath));
reqFTP.UseBinary = true;
reqFTP.Credentials = new NetworkCredential(ftpUserID, ftpPassword);
reqFTP.Method = WebRequestMethods.Ftp.ListDirectoryDetails;
response = reqFTP.GetResponse();
reader = new StreamReader(response.GetResponseStream());
//MessageBox.Show(reader.ReadToEnd());
string line = reader.ReadLine();
while (line != null)
{
result.Append(line);
result.Append("\n");
line = reader.ReadLine();
}
result.Remove(result.ToString().LastIndexOf('\n'), 1);
if(reader != null)
reader.Close();
if(response != null)
response.Close();
if(reqFTP != null)
reqFTP.Abort();
//MessageBox.Show(response.StatusDescription);
return result.ToString().Split('\n');
}
catch (Exception)
{
downloadFiles = null;
return downloadFiles;
}
}
Wie kann ich dieConnection beenden, wenn ich den Dialog schließe?
Asterix