다음을 통해 공유


Stream.ReadAtLeastAsync 메서드

정의

현재 스트림에서 최소 바이트 수를 비동기적으로 읽고, 스트림 내의 위치를 읽은 바이트 수만큼 발전시키고, 취소 요청을 모니터링합니다.

public System.Threading.Tasks.ValueTask<int> ReadAtLeastAsync (Memory<byte> buffer, int minimumBytes, bool throwOnEndOfStream = true, System.Threading.CancellationToken cancellationToken = default);
member this.ReadAtLeastAsync : Memory<byte> * int * bool * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<int>
Public Function ReadAtLeastAsync (buffer As Memory(Of Byte), minimumBytes As Integer, Optional throwOnEndOfStream As Boolean = true, Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of Integer)

매개 변수

buffer
Memory<Byte>

데이터를 기록할 메모리의 영역입니다.

minimumBytes
Int32

버퍼로 읽을 최소 바이트 수입니다.

throwOnEndOfStream
Boolean

true 바이트를 읽기 minimumBytes 전에 스트림의 끝에 도달한 경우 예외를 throw하려면 이고, false 스트림의 끝에 도달할 때보다 minimumBytes 작게 반환하려면 입니다. 기본값은 true입니다.

cancellationToken
CancellationToken

취소 요청을 모니터링할 토큰입니다.

반환

비동기 읽기 작업을 나타내는 작업입니다. 해당 Result 속성의 값에는 버퍼 안으로 읽어들인 총 바이트 수가 포함됩니다. 이 값은 가 인 경우 throwOnEndOfStreamtrue보다 크거나 같을 수 있습니다minimumBytes. 스트림의 끝에 도달하고 throwOnEndOfStreamfalse가 인 경우보다 minimumBytes 작습니다. 현재 많은 바이트를 사용할 수 없는 경우 버퍼에 할당된 바이트 수보다 작을 수 있습니다.

예외

minimumBytes 가 음수이거나 의 길이 buffer보다 큽니다.

throwOnEndOfStreamtrue 이며 데이터의 바이트를 읽기 minimumBytes 전에 스트림의 끝에 도달합니다.

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

설명

가 0이면 minimumBytes 스트림에서 사용 가능한 데이터를 기다리지 않고 이 읽기 작업이 완료됩니다.

적용 대상