BackgroundDownloader.CreateDownload メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
オーバーロード
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
パラメーター
- 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
パラメーター
- 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)。