WebClient empfängt das DownlodProgressChanges Event nicht.

  • VB.NET

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von Kangaroo.

    WebClient empfängt das DownlodProgressChanges Event nicht.

    Hi!

    Ich hab alles versucht aber nichtrs kommt bei dem Event an :(

    VB.NET-Quellcode

    1. Dim WithEvents wc As New Net.WebClient
    2. 'weiter unten
    3. wc.DownloadFileAsync(New Uri("************")
    4. Private Sub wc_DownloadProgressChanged(ByVal sender As Object, ByVal e As System.Net.DownloadProgressChangedEventArgs) Handles wc.DownloadProgressChanged
    5. Try
    6. MsgBox(e.ProgressPercentage)
    7. pbwidth = e.ProgressPercentage
    8. Me.Invalidate()
    9. Catch ex As Exception
    10. MsgBox(ex.ToString)
    11. End Try
    12. End Sub


    Keine Fehler, auch alles mit Try Catch probiert. Nix kommt.

    Weiß jemand die Lösung?
    Whos Faster ALPHA: Bald....
    Schmeiß Try / Catch raus, Du willst doch Fehler finden und nicht verschleiern.
    Setz mal einen Haltepunkt rein und sieh, was passiert.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Das ProgressChanged Event wird ausgelöst, wenn der drunterliegende Stream den internen Callback aufruft. Das ist normalerweise nach dem Lesen eines Buffers von ~64k der Fall.

    Bei den heutigen Internet-Geschwindigkeiten ist das nur ein Bruchteil einer Sekunde, was nützen Dir also Events bei kleineren Filegrössen ?

    Du kannst natürlich immer einen httpWebRequest nehmen und den ResponseStream mit einem selbsdefinierten Buffer auslesen, so kannst Du die Granularität selber bestimmen.