DownloadOperation.StartAsync 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
启动异步下载操作。
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(); });