Informations
Le sujet que vous avez demandé est indiqué ci-dessous. Toutefois, ce sujet ne figure pas dans la bibliothèque.

WebClient.DownloadProgressChanged, événement

Remarque : cet événement est nouveau dans le .NET Framework version 2.0.

Se produit lorsqu'une opération de téléchargement asynchrone transfère avec succès une partie ou l'ensemble des données.

Espace de noms : System.Net
Assembly : System (dans system.dll)

public event DownloadProgressChangedEventHandler DownloadProgressChanged
/** @event */
public void add_DownloadProgressChanged (DownloadProgressChangedEventHandler value)

/** @event */
public void remove_DownloadProgressChanged (DownloadProgressChangedEventHandler value)

JScript prend en charge l'utilisation d'événements mais pas la déclaration de nouveaux événements.

Cet événement est déclenché chaque fois qu'un téléchargement asynchrone est en cours. Cet événement est déclenché lorsque les téléchargements sont démarrés à l'aide de l'une des méthodes suivantes.

Méthode

Description

DownloadDataAsync

Télécharge des données en provenance d'une ressource et retourne un tableau de Byte, sans bloquer le thread d'appel.

DownloadFileAsync

Télécharge dans un fichier local des données en provenance d'une ressource, sans bloquer le thread d'appel.

OpenReadAsync

Retourne les données d'une ressource, sans bloquer le thread d'appel.

DownloadProgressChangedEventHandler est le délégué de cet événement. La classe DownloadProgressChangedEventArgs fournit le gestionnaire d'événements avec les données d'événement.

Pour plus d'informations sur la gestion des événements, consultez Consommation d'événements.

RemarqueRemarque

Un transfert de fichiers par FTP en mode passif affichera toujours un pourcentage de progression de zéro puisque le serveur n'a pas envoyé la taille de fichier. Pour afficher la progression, vous pouvez définir la connexion FTP en mode actif en substituant la méthode virtuelle GetWebRequest :

internal class MyWebClient:WebClient{
        protected override WebRequest GetWebRequest(Uri address) {
            FtpWebRequest req = (FtpWebRequest)base.GetWebRequest(address);
            req.UsePassive = false;
            return req;
        }
    }

L'exemple de code suivant illustre la définition d'un gestionnaire d'événements pour cet événement.

// Sample call : DownLoadFileInBackground2 ("http://www.contoso.com/logs/January.txt");
public static void DownLoadFileInBackground2 (string address)
{
    WebClient client = new WebClient ();
    Uri uri = new Uri(address);

    // Specify that the DownloadFileCallback method gets called
    // when the download completes.
    client.DownloadFileCompleted += new AsyncCompletedEventHandler (DownloadFileCallback2);
    // Specify a progress notification handler.
    client.DownloadProgressChanged += new DownloadProgressChangedEventHandler(DownloadProgressCallback);
    client.DownloadFileAsync (uri, "serverdata.txt");
}


L'exemple de code suivant illustre une implémentation d'un gestionnaire pour cet événement.

static void UploadProgressCallback(object sender, UploadProgressChangedEventArgs e)
{
    // Displays the operation identifier, and the transfer progress.
    Console.WriteLine("{0}    uploaded {1} of {2} bytes. {3} % complete...", 
        (string)e.UserState, 
        e.BytesSent, 
        e.TotalBytesToSend,
        e.ProgressPercentage);
}
static void DownloadProgressCallback(object sender, DownloadProgressChangedEventArgs e)
{
    // Displays the operation identifier, and the transfer progress.
    Console.WriteLine("{0}    downloaded {1} of {2} bytes. {3} % complete...", 
        (string)e.UserState, 
        e.BytesReceived, 
        e.TotalBytesToReceive,
        e.ProgressPercentage);
}

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition

Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.

.NET Framework

Prise en charge dans : 2.0

Ajouts de la communauté

Afficher:
© 2014 Microsoft