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 的两次下载,因为这可能会导致文件被截断。

在调用 StartAsync 方法之前,必须使用 BackgroundDownloader.CreateDownloader.CreateDownloadAsync 方法之一来计划下载操作。

重要

在main UI 线程上排队大量传输可能会导致应用 UI 的性能下降,即使调用是可等待的。 如果要排队大量传输,建议在后台工作线程上调用 StartAsync ,如以下示例所示。

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

适用于

另请参阅