DownloadOperation.StartAsync Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Inicia uma operação de download assíncrona.
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)
Retornos
Uma operação de download assíncrona que inclui atualizações de progresso.
- Atributos
Comentários
Exceções
COMException
Gerado quando um HRESULT específico do recurso é retornado de uma chamada de método.
Essa é a exceção mais comum gerada pelos métodos de rede. Um aplicativo deve usar o HRESULT da exceção para determinar a causa do erro.
AccessDeniedException
Gerada quando o acesso a um recurso é negado. Essa exceção ocorre quando um aplicativo não tem os recursos de rede necessários definidos no manifesto do aplicativo para a operação de rede solicitada.
InvalidArgumentException
Gerada quando um dos argumentos fornecidos a um método não é válido.
Se a entrada fornecida pelo usuário tiver causado essa exceção, um aplicativo poderá informar o usuário e solicitar uma nova entrada.
ObjectDisposedException
Gerada quando uma operação é executada em um objeto descartado.
OutOfMemoryException
Gerada quando a memória insuficiente está disponível para concluir a operação.
A transferência em segundo plano não dá suporte a downloads simultâneos do mesmo URI. Portanto, um aplicativo pode baixar http://example.com/myfile.wmv
uma vez ou baixá-lo novamente após a conclusão de um download anterior. Um aplicativo não deve iniciar dois downloads do mesmo Uri simultaneamente, pois isso pode resultar em arquivos truncados.
Uma operação de download deve ser agendada usando um dos métodos BackgroundDownloader.CreateDownload ou BackgroundDownloader.CreateDownloadAsync antes que o método StartAsync seja chamado.
Importante
O enfileiramento de um grande número de transferências no thread de interface do usuário do main pode resultar em um desempenho degradado da interface do usuário do aplicativo, mesmo que a chamada seja aguardável. Se você estiver enfileirando um grande número de transferências, é recomendável chamar StartAsync em um thread de trabalho em segundo plano como no exemplo a seguir.
operation = await Task.Run(() => { return myDownloadOperation.StartAsync(); });