DownloadOperation.StartAsync Metodo

Definizione

Avvia un'operazione di download asincrona.

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)

Restituisce

Operazione di download asincrona che include gli aggiornamenti dello stato.

Attributi

Commenti

Eccezioni

COMException

Generato quando viene restituito un HRESULT specifico della funzionalità da una chiamata al metodo.

Si tratta dell'eccezione più comune generata dai metodi di rete. Un'app deve usare HRESULT dall'eccezione per determinare la causa dell'errore.

AccessDeniedException

Generata quando viene negato l'accesso a una risorsa o a una funzionalità. Questa eccezione si verifica quando un'app non dispone delle funzionalità di rete necessarie impostate nel manifesto dell'app per l'operazione di rete richiesta.

InvalidArgumentException

Generata quando uno degli argomenti forniti a un metodo non è valido.

Se l'input fornito dall'utente ha causato questa eccezione, un'app potrebbe informare l'utente e richiedere un nuovo input.

ObjectDisposedException

Generata quando viene eseguita un'operazione su un oggetto eliminato.

OutOfMemoryException

Generato quando è disponibile memoria insufficiente per completare l'operazione.

Il trasferimento in background non supporta download simultanei dello stesso URI. Quindi un'app può scaricare http://example.com/myfile.wmv una volta o scaricarla nuovamente dopo il completamento di un download precedente. Un'app non deve avviare due download dello stesso URI simultaneamente, poiché questo potrebbe causare file troncati.

È necessario pianificare un'operazione di download usando uno dei metodi BackgroundDownloader.CreateDownloader.CreateDownloader.CreateDownloadAsync prima che venga chiamato il metodo StartAsync .

Importante

L'accodamento di un numero elevato di trasferimenti nel thread dell'interfaccia utente principale può causare prestazioni ridotte dell'interfaccia utente dell'app, anche se la chiamata è in attesa. Se si accoda un numero elevato di trasferimenti, è consigliabile chiamare StartAsync in un thread di lavoro in background come nell'esempio seguente.

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

Si applica a

Vedi anche