Поделиться через


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. Таким образом, приложение можно скачать http://example.com/myfile.wmv один раз или снова после завершения предыдущей загрузки. Приложение не должно одновременно запускать две загрузки одного и того же URI , так как это может привести к усеченным файлам.

Операция скачивания должна быть запланирована с помощью одного из методов BackgroundDownloader.CreateDownload или BackgroundDownloader.CreateDownloadAsync перед вызовом метода StartAsync.

Важно!

Постановка в очередь большого количества передач в потоке пользовательского интерфейса main может привести к снижению производительности пользовательского интерфейса приложения, даже если вызов ожидается. При постановке в очередь большого количества передач рекомендуется вызвать StartAsync в фоновом рабочем потоке, как показано в следующем примере.

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

Применяется к

См. также раздел