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 の同時ダウンロードはサポートされていません。 そのため、アプリは 1 回ダウンロード http://example.com/myfile.wmv することも、以前のダウンロードが完了した後にもう一度ダウンロードすることもできます。 アプリでは、同じ Uri の 2 つのダウンロードを同時に開始しないでください。これは、ファイルが切り捨てられる可能性があるためです。

ダウンロード操作は、StartAsync メソッドが呼び出される前に 、BackgroundDownloader.CreateDownloadまたは BackgroundDownloader.CreateDownloadAsync メソッドのいずれかを使用してスケジュールする必要があります。

重要

メイン UI スレッドで多数の転送をキューに登録すると、呼び出しが待機可能であっても、アプリの UI のパフォーマンスが低下する可能性があります。 多数の転送をキューに入れている場合は、次の例のように、バックグラウンド ワーカー スレッドで StartAsync を呼び出することをお勧めします。

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

適用対象

こちらもご覧ください