다음을 통해 공유


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 가 반환되면 throw됩니다.

네트워킹 메서드에서 throw되는 가장 일반적인 예외입니다. 앱은 예외의 HRESULT 를 사용하여 오류의 원인을 확인해야 합니다.

AccessDeniedException

리소스 또는 기능에 대한 액세스가 거부된 경우 throw됩니다. 이 예외는 앱에 요청된 네트워크 작업에 대한 앱 매니페스트에 설정된 필수 네트워크 기능이 없는 경우에 발생합니다.

InvalidArgumentException

메서드에 제공된 인수 중 하나가 유효하지 않을 때 throw됩니다.

사용자가 제공한 입력으로 인해 이 예외가 발생한 경우 앱이 사용자에게 알리고 새 입력을 요청할 수 있습니다.

ObjectDisposedException

삭제된 개체에서 연산이 수행될 때 throw됩니다.

OutOfMemoryException

메모리가 부족하여 작업을 완료할 수 있을 때 throw됩니다.

백그라운드 전송은 동일한 Uri의 동시 다운로드를 지원하지 않습니다. 따라서 앱은 한 번 다운로드 http://example.com/myfile.wmv 하거나 이전 다운로드가 완료된 후 다시 다운로드할 수 있습니다. 이 경우 파일이 잘릴 수 있으므로 앱에서 동일한 Uri 의 두 다운로드를 동시에 시작해서는 안 됩니다.

StartAsync 메서드가 호출되기 전에 BackgroundDownloader.CreateDownload 또는 BackgroundDownloader.CreateDownloadAsync 메서드 중 하나를 사용하여 다운로드 작업을 예약해야 합니다.

중요

기본 UI 스레드에서 많은 수의 전송을 큐에 추가하면 호출이 대기 가능하더라도 앱의 UI 성능이 저하될 수 있습니다. 많은 수의 전송을 대기하는 경우 다음 예제와 같이 백그라운드 작업자 스레드에서 StartAsync 를 호출하는 것이 좋습니다.

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

적용 대상

추가 정보