DownloadOperation.StartAsync メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
非同期ダウンロード操作を開始します。
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(); });