Compartir a través de


BackgroundDownloader.CreateDownload Método

Definición

Sobrecargas

CreateDownload(Uri, IStorageFile)

Inicializa un objeto DownloadOperation que contiene el URI especificado y el archivo en el que se escribe la respuesta.

CreateDownload(Uri, IStorageFile, IStorageFile)

Inicializa un objeto DownloadOperation con el URI del recurso, el archivo en el que se escribe la respuesta y el cuerpo de la entidad de solicitud.

CreateDownload(Uri, IStorageFile)

Inicializa un objeto DownloadOperation que contiene el URI especificado y el archivo en el que se escribe la respuesta.

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

Parámetros

uri
Uri Uri

Ubicación del recurso.

resultFile
IStorageFile

Archivo en el que se escribirá la respuesta.

Devoluciones

La operación de descarga resultante.

Atributos

Comentarios

La transferencia en segundo plano no admite descargas simultáneas del mismo URI. Por lo tanto, una aplicación puede descargarla http://example.com/myfile.wmv una vez o volver a descargarla después de que se haya completado una descarga anterior. Una aplicación no debe iniciar dos descargas del mismo URI simultáneamente, ya que esto puede dar lugar a archivos truncados.

Importante

La creación de un gran número de transferencias en el subproceso principal de la interfaz de usuario con CreateDownload puede provocar un rendimiento degradado de la interfaz de usuario de la aplicación. Si va a poner en cola un gran número de transferencias, se recomienda llamar a CreateDownload en un subproceso de trabajo en segundo plano como en el ejemplo siguiente.

operation = await Task.Run(() => { return myDownloader.CreateDownload(uri, file); });

Nota:

Algunos sistemas de archivos tienen límites de tamaño de archivo. La transferencia en segundo plano tiene lógica especial para las transferencias de error rápido que superan los límites de tamaño de archivo de la unidad de destino (por ejemplo, archivos que superan los 4 GB de tamaño para los sistemas de archivos FAT32). Si el servidor responde con un Content-Length valor de encabezado mayor que el tamaño máximo de archivo del sistema de archivos, la operación de descarga produce un error inmediatamente con HRESULT_FROM_WIN32(ERROR_FILE_SYSTEM_LIMITATION).

Consulte también

Se aplica a

CreateDownload(Uri, IStorageFile, IStorageFile)

Inicializa un objeto DownloadOperation con el URI del recurso, el archivo en el que se escribe la respuesta y el cuerpo de la entidad de solicitud.

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

Parámetros

uri
Uri Uri

Ubicación del recurso.

resultFile
IStorageFile

Archivo en el que se escribirá la respuesta.

requestBodyFile
IStorageFile

Un archivo que representa el cuerpo de la entidad de solicitud, que contiene datos adicionales que requiere el servidor antes de que pueda comenzar la descarga. El archivo al que apunta este objeto debe ser válido durante la descarga.

Devoluciones

La operación de descarga resultante.

Atributos

Comentarios

El resultado downloadOperation admite escenarios en los que una solicitud de descarga válida contiene datos específicos requeridos por el servidor. Por ejemplo, un sitio web requiere un formulario rellenado antes de que se pueda realizar la descarga.

La transferencia en segundo plano no admite descargas simultáneas del mismo URI. Por lo tanto, una aplicación puede descargarla http://example.com/myfile.wmv una vez o volver a descargarla después de que se haya completado una descarga anterior. Una aplicación no debe iniciar dos descargas del mismo URI simultáneamente, ya que esto puede dar lugar a archivos truncados.

Importante

La creación de un gran número de transferencias en el subproceso principal de la interfaz de usuario con CreateDownload puede provocar un rendimiento degradado de la interfaz de usuario de la aplicación. Si va a poner en cola un gran número de transferencias, se recomienda llamar a CreateDownload en un subproceso de trabajo en segundo plano como en el ejemplo siguiente.

operation = await Task.Run(() => { return myDownloader.CreateDownload(uri, file); });

Nota:

Algunos sistemas de archivos tienen límites de tamaño de archivo. La transferencia en segundo plano tiene lógica especial para las transferencias de error rápido que superan los límites de tamaño de archivo de la unidad de destino (por ejemplo, archivos que superan los 4 GB de tamaño para los sistemas de archivos FAT32). Si el servidor responde con un Content-Length valor de encabezado mayor que el tamaño máximo de archivo del sistema de archivos, la operación de descarga produce un error inmediatamente con HRESULT_FROM_WIN32(ERROR_FILE_SYSTEM_LIMITATION).

Consulte también

Se aplica a