Compartir a través de


DownloadOperation.StartAsync Método

Definición

Inicia una operación de descarga asincrónica.

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)

Devoluciones

Una operación de descarga asincrónica que incluye actualizaciones de progreso.

Atributos

Comentarios

Excepciones

COMException

Se produce cuando se devuelve un HRESULT específico de la característica desde una llamada de método.

Esta es la excepción más común que producen los métodos de red. Una aplicación debe usar HRESULT de la excepción para determinar la causa del error.

AccessDeniedException

Se produce cuando se deniega el acceso a un recurso o a una característica. Esta excepción se produce cuando una aplicación no tiene las funcionalidades de red necesarias establecidas en el manifiesto de la aplicación para la operación de red solicitada.

InvalidArgumentException

Se produce cuando uno de los argumentos que se proporcionan a un método no es válido.

Si la entrada proporcionada por el usuario produjo esta excepción, una aplicación podría informar al usuario y solicitar una nueva entrada.

ObjectDisposedException

Se produce cuando se realiza una operación en un objeto desechado.

OutOfMemoryException

Se produce cuando no hay suficiente memoria disponible para completar la operación.

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.

Se debe programar una operación de descarga mediante uno de los métodos BackgroundDownloader.CreateDownloader o BackgroundDownloader.CreateDownloadAsync antes de llamar al método StartAsync.

Importante

Poner en cola un gran número de transferencias en el subproceso principal de la interfaz de usuario puede provocar una degradación del rendimiento de la interfaz de usuario de la aplicación, aunque la llamada sea awaitable. Si va a poner en cola un gran número de transferencias, se recomienda llamar a StartAsync en un subproceso de trabajo en segundo plano, como en el ejemplo siguiente.

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

Se aplica a

Consulte también