다음을 통해 공유


UploadOperation.StartAsync 메서드

정의

비동기 업로드 작업을 시작합니다.

public:
 virtual IAsyncOperationWithProgress<UploadOperation ^, UploadOperation ^> ^ StartAsync() = StartAsync;
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperationWithProgress<UploadOperation, UploadOperation const&> StartAsync();
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperationWithProgress<UploadOperation,UploadOperation> StartAsync();
function startAsync()
Public Function StartAsync () As IAsyncOperationWithProgress(Of UploadOperation, UploadOperation)

반환

진행률 업데이트를 포함하는 비동기 업로드 작업입니다.

특성

설명

예외

COMException

메서드 호출에서 기능별 HRESULT 가 반환되면 throw됩니다.

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

AccessDeniedException

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

InvalidArgumentException

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

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

ObjectDisposedException

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

OutOfMemoryException

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

StartAsync 메서드가 호출되기 전에 BackgroundUploader.CreateUpload, BackgroundUploader.CreateUploadAsync 또는 BackgroundUploader.CreateUploadFromStreamAsync 메서드 중 하나를 사용하여 업로드 작업을 예약해야 합니다.

중요

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

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

적용 대상

추가 정보