Partager via


DownloadOperation.StartAsync Méthode

Définition

Démarre une opération de téléchargement asynchrone.

public:
 virtual IAsyncOperationWithProgress<DownloadOperation ^, DownloadOperation ^> ^ StartAsync() = StartAsync;
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperationWithProgress<DownloadOperation, DownloadOperation const&> StartAsync();
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperationWithProgress<DownloadOperation,DownloadOperation> StartAsync();
function startAsync()
Public Function StartAsync () As IAsyncOperationWithProgress(Of DownloadOperation, DownloadOperation)

Retours

Opération de téléchargement asynchrone qui inclut les mises à jour de progression.

Attributs

Remarques

Exceptions

COMException

Levée lorsqu’un HRESULT spécifique à une fonctionnalité est retourné à partir d’un appel de méthode.

Il s’agit de l’exception la plus courante levée par les méthodes de mise en réseau. Une application doit utiliser le HRESULT de l’exception pour déterminer la cause de l’erreur.

AccessDeniedException

Levée lorsque l'accès est refusé à une ressource ou à une fonctionnalité. Cette exception se produit lorsqu’une application n’a pas les fonctionnalités réseau requises définies dans le manifeste de l’application pour l’opération réseau demandée.

InvalidArgumentException

Levée lorsque l'un des arguments fournis à une méthode n'est pas valide.

Si l’entrée fournie par l’utilisateur a provoqué cette exception, une application peut informer l’utilisateur et demander une nouvelle entrée.

ObjectDisposedException

Levée lorsqu'une opération est exécutée sur un objet supprimé.

OutOfMemoryException

Levée lorsque la mémoire disponible est insuffisante pour terminer l’opération.

Le transfert en arrière-plan ne prend pas en charge les téléchargements simultanés du même URI. Ainsi, une application peut télécharger http://example.com/myfile.wmv une seule fois, ou la télécharger à nouveau une fois le téléchargement précédent terminé. Une application ne doit pas démarrer simultanément deux téléchargements du même URI , car cela peut entraîner des fichiers tronqués.

Une opération de téléchargement doit être planifiée à l’aide de l’une des méthodes BackgroundDownloader.CreateDownload ou BackgroundDownloader.CreateDownloadAsync avant l’appel de la méthode StartAsync.

Important

La mise en file d’attente d’un grand nombre de transferts sur le thread d’interface utilisateur main peut entraîner une dégradation des performances de l’interface utilisateur de votre application, même si l’appel est attendu. Si vous mettez en file d’attente un grand nombre de transferts, il est recommandé d’appeler StartAsync sur un thread de travail en arrière-plan, comme dans l’exemple suivant.

operation = await Task.Run(() => { return myDownloadOperation.StartAsync(); });

S’applique à

Voir aussi