Download Queue?

  • C#

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von SpaceyX.

    Download Queue?

    Hi,

    ich habe ein Programm, das 2 Ordner überprüft, ob sie existieren.
    Sollten diese Ordner nicht existieren, sollte er sie automatisch runterladen und dahin verschieben, wo sie hin sollen.

    Ich habe mir bereits Codeschnipsel zu einer Download Queue angeschaut, komme aber nicht wirklich weiter.
    Mein Download startet nie.
    Hat hier noch jemand andere Ideen?


    Grüße
    Meine Projekte:

    WizSearch: 100%
    Ansehen
    Ja nichts, das ist es ja.
    Ich füge einen Link mit _items.Enqueue("http://link.com") in die Liste ein und führe danach DownloadItem aus.
    Und alles was passiert ist gar nichts.


    Code:

    VB.NET-Quellcode

    1. private void DownloadItem()
    2. {
    3. if (_items.Any())
    4. {
    5. progressBar.Visible = true;
    6. toolStripStatusLabel3.Visible = true;
    7. var nextItem = _items.Dequeue();
    8. var webClient = new WebClient();
    9. webClient.DownloadStringCompleted += OnGetDownloadedStringCompleted;
    10. webClient.DownloadProgressChanged += client_DownloadProgressChanged;
    11. webClient.DownloadStringAsync(new Uri(nextItem));
    12. }
    13. }
    14. private void client_DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e)
    15. {
    16. double bytesIn = double.Parse(e.BytesReceived.ToString());
    17. double totalBytes = double.Parse(e.TotalBytesToReceive.ToString());
    18. double percentage = bytesIn / totalBytes * 100;
    19. progressBar.Value = int.Parse(Math.Truncate(percentage).ToString());
    20. }
    21. private void OnGetDownloadedStringCompleted(object sender, DownloadStringCompletedEventArgs e)
    22. {
    23. if (e.Error == null && !string.IsNullOrEmpty(e.Result))
    24. {
    25. _results.Add(e.Result);
    26. }
    27. progressBar.Visible = false;
    28. toolStripStatusLabel3.Visible = false;
    29. DownloadItem();
    30. }
    Meine Projekte:

    WizSearch: 100%
    Ansehen

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „FlorianJ“ ()

    Wenn ich die Anwendung während des angeblichen Prozesses schließe, bekomme ich eine Exception.

    Zeile:
    progressBar.Value = int.Parse(Math.Truncate(percentage).ToString());

    Exception:
    Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
    Meine Projekte:

    WizSearch: 100%
    Ansehen
    Das gleiche bei:

    VB.NET-Quellcode

    1. private void client_DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e)
    2. {
    3. progressBar.Value = e.ProgressPercentage;
    4. }
    Meine Projekte:

    WizSearch: 100%
    Ansehen
    Das sollte keine Lösung für Deine NullReferenceException sein. Schau einfach nach, was da NULL ist, viel bleibt ja nicht mehr.
    Die Unendlichkeit ist weit. Vor allem gegen Ende. ?(
    Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. 8o