다음을 통해 공유


DeflateStream.CopyToAsync(Stream, Int32, CancellationToken) 메서드

정의

현재 Deflate 스트림에서 바이트를 비동기적으로 읽어 지정된 버퍼 크기로 다른 스트림에 씁니다.

public:
 override System::Threading::Tasks::Task ^ CopyToAsync(System::IO::Stream ^ destination, int bufferSize, System::Threading::CancellationToken cancellationToken);
public override System.Threading.Tasks.Task CopyToAsync (System.IO.Stream destination, int bufferSize, System.Threading.CancellationToken cancellationToken);
override this.CopyToAsync : System.IO.Stream * int * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Overrides Function CopyToAsync (destination As Stream, bufferSize As Integer, cancellationToken As CancellationToken) As Task

매개 변수

destination
Stream

현재 Deflate 스트림의 내용을 복사할 스트림입니다.

bufferSize
Int32

버퍼의 크기(바이트)입니다. 이 값은 0보다 커야 합니다. 기본 크기는 81920입니다.

cancellationToken
CancellationToken

취소 요청을 모니터링할 토큰입니다. 기본값은 None입니다.

반환

비동기 복사 작업을 나타내는 작업입니다.

예외

취소 토큰이 취소되었습니다. 이 예외는 반환된 작업에 저장됩니다.

설명

메서드 CopyToAsync 를 사용하면 기본 스레드를 차단하지 않고 리소스 집약적 I/O 작업을 수행할 수 있습니다. 이 성능 고려 사항은 시간이 많이 걸리는 스트림 작업이 UI 스레드를 차단하고 앱이 작동하지 않는 것처럼 표시되도록 할 수 있는 데스크톱 앱에서 특히 중요합니다. 비동기 메서드는 Visual Basic 및 C#의 asyncawait 키워드와 함께 사용됩니다.

작업이 완료되기 전에 취소된 경우 반환된 작업에는 속성 값 TaskStatus.CanceledTask.Status 포함됩니다.

복사는 현재 Deflate 스트림의 현재 위치에서 시작됩니다.

이 메서드는 메서드의 동기 대응에서 throw할 수 있는 모든 비사용 예외를 반환하는 태스크에 저장됩니다. 예외가 반환된 작업에 저장되면 작업이 대기될 때 해당 예외가 throw됩니다. 와 같은 ArgumentException사용 예외는 여전히 동기적으로 throw됩니다. 저장된 예외는 에서 throw CopyTo(Stream, Int32)된 예외를 참조하세요.

적용 대상