BackgroundDownloader.CreateDownload Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Surcharges
CreateDownload(Uri, IStorageFile) |
Initialise un objet DownloadOperation qui contient l’URI spécifié et le fichier dans lequel la réponse est écrite. |
CreateDownload(Uri, IStorageFile, IStorageFile) |
Initialise un objet DownloadOperation avec l’URI de ressource, le fichier dans lequel la réponse est écrite et le corps de l’entité de demande. |
CreateDownload(Uri, IStorageFile)
Initialise un objet DownloadOperation qui contient l’URI spécifié et le fichier dans lequel la réponse est écrite.
public:
virtual DownloadOperation ^ CreateDownload(Uri ^ uri, IStorageFile ^ resultFile) = CreateDownload;
/// [Windows.Foundation.Metadata.Overload("CreateDownload")]
DownloadOperation CreateDownload(Uri const& uri, IStorageFile const& resultFile);
[Windows.Foundation.Metadata.Overload("CreateDownload")]
public DownloadOperation CreateDownload(System.Uri uri, IStorageFile resultFile);
function createDownload(uri, resultFile)
Public Function CreateDownload (uri As Uri, resultFile As IStorageFile) As DownloadOperation
Paramètres
- resultFile
- IStorageFile
Fichier dans lequel la réponse sera écrite.
Retours
Opération de téléchargement résultante.
- Attributs
Remarques
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.
Important
La création d’un grand nombre de transferts sur le thread d’interface utilisateur main avec CreateDownload peut entraîner une dégradation des performances de l’interface utilisateur de votre application. Si vous mettez en file d’attente un grand nombre de transferts, il est recommandé d’appeler CreateDownload sur un thread de travail en arrière-plan, comme dans l’exemple suivant.
operation = await Task.Run(() => { return myDownloader.CreateDownload(uri, file); });
Notes
Certains systèmes de fichiers ont des limites de taille de fichier. Le transfert en arrière-plan a une logique spéciale pour les transferts à échec rapide qui dépassent les limites de taille de fichier du lecteur de destination (par exemple, les fichiers dont la taille dépasse 4 Go pour les systèmes de fichiers FAT32). Si le serveur répond avec une valeur d’en-tête Content-Length
supérieure à la taille de fichier maximale du système de fichiers, l’opération de téléchargement échoue immédiatement avec HRESULT_FROM_WIN32(ERROR_FILE_SYSTEM_LIMITATION).
Voir aussi
S’applique à
CreateDownload(Uri, IStorageFile, IStorageFile)
Initialise un objet DownloadOperation avec l’URI de ressource, le fichier dans lequel la réponse est écrite et le corps de l’entité de demande.
public:
virtual DownloadOperation ^ CreateDownload(Uri ^ uri, IStorageFile ^ resultFile, IStorageFile ^ requestBodyFile) = CreateDownload;
/// [Windows.Foundation.Metadata.Overload("CreateDownloadFromFile")]
DownloadOperation CreateDownload(Uri const& uri, IStorageFile const& resultFile, IStorageFile const& requestBodyFile);
[Windows.Foundation.Metadata.Overload("CreateDownloadFromFile")]
public DownloadOperation CreateDownload(System.Uri uri, IStorageFile resultFile, IStorageFile requestBodyFile);
function createDownload(uri, resultFile, requestBodyFile)
Public Function CreateDownload (uri As Uri, resultFile As IStorageFile, requestBodyFile As IStorageFile) As DownloadOperation
Paramètres
- resultFile
- IStorageFile
Fichier dans lequel la réponse sera écrite.
- requestBodyFile
- IStorageFile
Fichier qui représente le corps de l’entité de demande, qui contient les données supplémentaires dont le serveur a besoin avant que le téléchargement puisse commencer. Le fichier vers lequel cet objet pointe doit être valide pendant la durée du téléchargement.
Retours
Opération de téléchargement résultante.
- Attributs
Remarques
L’opération DownloadOperation résultante prend en charge les scénarios où une demande de téléchargement valide contient des données spécifiques requises par le serveur. Par exemple, un site web nécessite un formulaire rempli avant que le téléchargement puisse avoir lieu.
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.
Important
La création d’un grand nombre de transferts sur le thread d’interface utilisateur main avec CreateDownload peut entraîner une dégradation des performances de l’interface utilisateur de votre application. Si vous mettez en file d’attente un grand nombre de transferts, il est recommandé d’appeler CreateDownload sur un thread de travail en arrière-plan, comme dans l’exemple suivant.
operation = await Task.Run(() => { return myDownloader.CreateDownload(uri, file); });
Notes
Certains systèmes de fichiers ont des limites de taille de fichier. Le transfert en arrière-plan a une logique spéciale pour les transferts à échec rapide qui dépassent les limites de taille de fichier du lecteur de destination (par exemple, les fichiers dont la taille dépasse 4 Go pour les systèmes de fichiers FAT32). Si le serveur répond avec une valeur d’en-tête Content-Length
supérieure à la taille de fichier maximale du système de fichiers, l’opération de téléchargement échoue immédiatement avec HRESULT_FROM_WIN32(ERROR_FILE_SYSTEM_LIMITATION).