BackgroundDownloader.CreateDownload Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Перегрузки
CreateDownload(Uri, IStorageFile) |
Инициализирует объект DownloadOperation , содержащий указанный универсальный код ресурса (URI ) и файл, в который записывается ответ. |
CreateDownload(Uri, IStorageFile, IStorageFile) |
Инициализирует объект DownloadOperation с помощью URI ресурса, файла, в который записывается ответ, и тела сущности запроса. |
CreateDownload(Uri, IStorageFile)
Инициализирует объект DownloadOperation , содержащий указанный универсальный код ресурса (URI ) и файл, в который записывается ответ.
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. Таким образом, приложение можно скачать http://example.com/myfile.wmv
один раз или снова после завершения предыдущей загрузки. Приложение не должно одновременно запускать две загрузки одного и того же URI , так как это может привести к усеченным файлам.
Важно!
Создание большого количества передач в потоке пользовательского интерфейса main с помощью CreateDownload может привести к снижению производительности пользовательского интерфейса приложения. При постановке в очередь большого количества передач рекомендуется вызвать CreateDownload в фоновом рабочем потоке, как показано в следующем примере.
operation = await Task.Run(() => { return myDownloader.CreateDownload(uri, file); });
Примечание
Некоторые файловые системы имеют ограничения на размер файлов. Фоновая передача имеет специальную логику для быстрой передачи сбоем, которая превышает ограничения на размер файлов целевого диска (например, файлы размером более 4 ГБ для файловых систем FAT32). Если сервер отвечает значением Content-Length
заголовка, превышающим максимальный размер файла файловой системы, операция скачивания немедленно завершается ошибкой HRESULT_FROM_WIN32(ERROR_FILE_SYSTEM_LIMITATION).
См. также раздел
Применяется к
CreateDownload(Uri, IStorageFile, IStorageFile)
Инициализирует объект DownloadOperation с помощью URI ресурса, файла, в который записывается ответ, и тела сущности запроса.
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 поддерживает сценарии, в которых допустимый запрос на скачивание содержит определенные данные, необходимые серверу. Например, для загрузки веб-сайта требуется заполненная форма.
Фоновая передача не поддерживает одновременные загрузки одного и того же URI. Таким образом, приложение можно скачать http://example.com/myfile.wmv
один раз или снова после завершения предыдущей загрузки. Приложение не должно одновременно запускать две загрузки одного и того же URI , так как это может привести к усеченным файлам.
Важно!
Создание большого количества передач в потоке пользовательского интерфейса main с помощью CreateDownload может привести к снижению производительности пользовательского интерфейса приложения. При постановке в очередь большого количества передач рекомендуется вызвать CreateDownload в фоновом рабочем потоке, как показано в следующем примере.
operation = await Task.Run(() => { return myDownloader.CreateDownload(uri, file); });
Примечание
Некоторые файловые системы имеют ограничения на размер файлов. Фоновая передача имеет специальную логику для быстрой передачи сбоем, которая превышает ограничения на размер файлов целевого диска (например, файлы размером более 4 ГБ для файловых систем FAT32). Если сервер отвечает значением Content-Length
заголовка, превышающим максимальный размер файла файловой системы, операция скачивания немедленно завершается ошибкой HRESULT_FROM_WIN32(ERROR_FILE_SYSTEM_LIMITATION).