FTPDownload und Designfrage



  • Guten Morgen.
    Ich versuche eine Klasse zu entwickeln welche Dateien von einem FTP-Server abholt. Das ganze klappt auch schon recht passabel nur bin ich mir unsicher ob mein Konzept und die Umsetzung so ganz dem Konzept von C# entspricht.

    public bool DownloadFile(string source, string dest)
            {
                SourceFile = source;
                DestFile = dest;
                if (IsIConChecked == false)
                    CheckIConnection();
                Thread newThread = new Thread(
                            new ParameterizedThreadStart(DownloadFTPFile.ThreadDownLoad));
    
                // Hier übergebe ich mich selbst
                newThread.Start(this);
    
                return true;
    
            }
            public static void ThreadDownLoad(object data)
            {
                WebClient wc = new WebClient();
                //macht man das so? oder gibts dazu elegantere Methoden?
                DownloadFTPFile ob = (DownloadFTPFile)data;
    
                wc.Credentials = new NetworkCredential(ob.UserName, ob.Password);
                wc.BaseAddress = ob.FtpServer;
                wc.DownloadFile(ob.SourceFile, ob.DestFile);
            }
    
        }
    

    Vor allem das casten in der Klasse auf die Klasse selbst..... Macht man das so? Vielleicht ist sogar die Funktion

    wc.DownloadFile(ob.SourceFile, ob.DestFile);
    

    bereits ein Thread...
    Vielleicht mag mich hier einer eines besseren belehren.

    Noch eine Frage hätte ich:... Wie bekomme ich mit, wieviel bereits von der Datei heruntergeladen ist? Bietet da die Klasse WebClient eine Möglichkeit? Oder muss ich an das Problem ganz anders heran gehen?
    Besten Dank für eure Hilfe.


Anmelden zum Antworten