共用方式為


DownloadOperation.StartAsync 方法

定義

啟動非同步下載作業。

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)

傳回

包含進度更新的非同步下載作業。

屬性

備註

例外狀況

COMException

從方法呼叫傳回功能特定的 HRESULT 時擲回。

這是網路方法擲回的最常見例外狀況。 應用程式應該使用例外狀況中的 HRESULT 來判斷錯誤的原因。

AccessDeniedException

在存取資源或功能遭拒時擲回。 當應用程式沒有針對所要求網路作業的應用程式資訊清單中設定所需的網路功能時,就會發生此例外狀況。

InvalidArgumentException

在其中一個提供給方法的引數無效時擲回。

如果使用者提供的輸入造成此例外狀況,應用程式可能會通知使用者並要求新的輸入。

ObjectDisposedException

在已處置的物件上執行作業時擲回。

OutOfMemoryException

當記憶體不足而無法完成作業時擲回。

背景傳輸不支援相同 URI的並行下載。 因此,應用程式可以下載 http://example.com/myfile.wmv 一次,或在先前下載完成後再次下載。 應用程式不應該同時啟動相同 URI 的兩個下載,因為這可能會導致截斷的檔案。

必須先使用其中一個 BackgroundDownloader.CreateDownload 或BackgroundDownloader.CreateDownloadAsync 方法來排程下載作業,才能呼叫 StartAsync 方法。

重要

將主要 UI 執行緒上的大量傳輸排入佇列,可能會導致應用程式的 UI 效能降低,即使呼叫可等候也一樣。 如果您要將大量傳輸排入佇列,建議您在背景背景背景工作執行緒上呼叫 StartAsync ,如下列範例所示。

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

適用於

另請參閱