BackgroundDownloader.CreateDownload メソッド

定義

オーバーロード

CreateDownload(Uri, IStorageFile)

指定した Uri と応答の書き込み対象のファイルを含む DownloadOperation オブジェクトを初期化します。

CreateDownload(Uri, IStorageFile, IStorageFile)

リソース Uri、応答が書き込まれるファイル、および要求エンティティ本文を使用して DownloadOperation オブジェクトを初期化します。

CreateDownload(Uri, IStorageFile)

指定した Uri と応答の書き込み対象のファイルを含む DownloadOperation オブジェクトを初期化します。

public:
 virtual DownloadOperation ^ CreateDownload(Uri ^ uri, IStorageFile ^ resultFile) = CreateDownload;
/// [Windows.Foundation.Metadata.Overload("CreateDownload")]
DownloadOperation CreateDownload(Uri const& uri, IStorageFile const& resultFile);
[Windows.Foundation.Metadata.Overload("CreateDownload")]
public DownloadOperation CreateDownload(System.Uri uri, IStorageFile resultFile);
function createDownload(uri, resultFile)
Public Function CreateDownload (uri As Uri, resultFile As IStorageFile) As DownloadOperation

パラメーター

uri
Uri Uri

リソースの場所。

resultFile
IStorageFile

応答が書き込まれるファイル。

戻り値

結果のダウンロード操作。

属性

注釈

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

重要

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

operation = await Task.Run(() => { return myDownloader.CreateDownload(uri, file); });

注意

一部のファイル システムには、ファイル サイズの制限があります。 バックグラウンド転送には、転送先ドライブのファイル サイズの制限 (FAT32 ファイル システムのサイズが 4 GB を超えるファイルなど) を超える高速失敗転送に対する特別なロジックがあります。 サーバーがファイル システムの最大ファイル サイズを超えるヘッダー値で Content-Length 応答した場合、ダウンロード操作はすぐに失敗し、HRESULT_FROM_WIN32(ERROR_FILE_SYSTEM_LIMITATION)。

こちらもご覧ください

適用対象

CreateDownload(Uri, IStorageFile, IStorageFile)

リソース Uri、応答が書き込まれるファイル、および要求エンティティ本文を使用して DownloadOperation オブジェクトを初期化します。

public:
 virtual DownloadOperation ^ CreateDownload(Uri ^ uri, IStorageFile ^ resultFile, IStorageFile ^ requestBodyFile) = CreateDownload;
/// [Windows.Foundation.Metadata.Overload("CreateDownloadFromFile")]
DownloadOperation CreateDownload(Uri const& uri, IStorageFile const& resultFile, IStorageFile const& requestBodyFile);
[Windows.Foundation.Metadata.Overload("CreateDownloadFromFile")]
public DownloadOperation CreateDownload(System.Uri uri, IStorageFile resultFile, IStorageFile requestBodyFile);
function createDownload(uri, resultFile, requestBodyFile)
Public Function CreateDownload (uri As Uri, resultFile As IStorageFile, requestBodyFile As IStorageFile) As DownloadOperation

パラメーター

uri
Uri Uri

リソースの場所。

resultFile
IStorageFile

応答が書き込まれるファイル。

requestBodyFile
IStorageFile

ダウンロードを開始する前にサーバーが必要とする追加データを含む要求エンティティ本文を表すファイル。 このオブジェクトが指すファイルは、ダウンロードの間有効である必要があります。

戻り値

結果のダウンロード操作。

属性

注釈

結果として 得られる DownloadOperation では、有効なダウンロード要求にサーバーに必要な特定のデータが含まれるシナリオがサポートされます。 たとえば、Web サイトでは、ダウンロードを行う前にフォームに入力する必要があります。

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

重要

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

operation = await Task.Run(() => { return myDownloader.CreateDownload(uri, file); });

注意

一部のファイル システムには、ファイル サイズの制限があります。 バックグラウンド転送には、転送先ドライブのファイル サイズの制限 (FAT32 ファイル システムのサイズが 4 GB を超えるファイルなど) を超える高速失敗転送に対する特別なロジックがあります。 サーバーがファイル システムの最大ファイル サイズを超えるヘッダー値で Content-Length 応答した場合、ダウンロード操作はすぐに失敗し、HRESULT_FROM_WIN32(ERROR_FILE_SYSTEM_LIMITATION)。

こちらもご覧ください

適用対象