GZipStream.BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) 메서드

정의

비동기 읽기 작업을 시작합니다. (대신 메서드를 ReadAsync(Byte[], Int32, Int32) 사용하는 것이 좋습니다.)

public:
 override IAsyncResult ^ BeginRead(cli::array <System::Byte> ^ array, int offset, int count, AsyncCallback ^ asyncCallback, System::Object ^ asyncState);
public override IAsyncResult BeginRead(byte[] array, int offset, int count, AsyncCallback asyncCallback, object asyncState);
override this.BeginRead : byte[] * int * int * AsyncCallback * obj -> IAsyncResult
Public Overrides Function BeginRead (array As Byte(), offset As Integer, count As Integer, asyncCallback As AsyncCallback, asyncState As Object) As IAsyncResult

매개 변수

arraybuffer
Byte[]

데이터를 읽을 바이트 배열입니다.

offset
Int32

스트림에서 데이터를 읽기 시작할 바이트 오프셋입니다.

count
Int32

읽을 최대 바이트 수입니다.

asyncCallback
AsyncCallback

읽기 작업이 완료될 때 호출할 선택적 비동기 콜백입니다.

asyncState
Object

이 특정 비동기 읽기 요청을 다른 요청과 구분하는 사용자 제공 개체입니다.

반품

보류 중일 수 있는 비동기 읽기 작업을 나타내는 개체입니다.

예외

메서드가 스트림의 끝을 비동기적으로 읽으려고 했거나 디스크 오류가 발생했습니다.

하나 이상의 인수가 잘못된 경우

스트림이 닫힌 후 메서드가 호출되었습니다.

현재 GZipStream 구현은 읽기 작업을 지원하지 않습니다.

스트림이 닫혀 있으므로 읽기 작업을 수행할 수 없습니다.

설명

Important

.NET 6부터 이 메서드는 요청된 바이트만큼 읽지 않을 수 있습니다. 자세한 내용은 DeflateStream, GZipStream 및 CryptoStream의 부분 및 0바이트 읽기를 참조하세요.

.NET Framework 4.5부터 메서드를 사용하여 Stream.ReadAsync 비동기 읽기 작업을 수행할 수 있습니다. 이 BeginRead 메서드는 레거시 코드를 지원하기 위해 현재 버전에서 계속 사용할 수 있지만 새 비동기 메서드를 사용하여 비동기 I/O 작업을 보다 쉽게 구현할 수 있습니다. 자세한 내용은 비동기 파일 I/O를 참조하세요.

IAsyncResult 반환 값을 스트림의 메서드에 EndRead 전달하여 읽은 바이트 수를 확인하고 읽기에 사용되는 운영 체제 리소스를 해제합니다. 호출 BeginRead 한 것과 동일한 코드를 사용하거나 전달된 콜백에서 이 작업을 수행할 수 있습니다 BeginRead.

I/O 작업이 완료될 때가 아니라 비동기 읽기 또는 쓰기가 실행될 때 스트림의 현재 위치가 업데이트됩니다.

여러 개의 동시 비동기 요청은 요청 완료 순서를 불확실하게 렌더링합니다.

현재 CanRead 개체에서 GZipStream 읽기를 지원하는지 여부를 확인하려면 이 속성을 사용합니다.

스트림이 닫혀 있거나 잘못된 인수를 전달하는 경우 예외가 즉시 BeginReadthrow됩니다. I/O 요청 중 디스크 오류와 같은 비동기 읽기 요청 중에 발생하는 오류는 스레드 풀 스레드에서 발생하고 호출 EndRead할 때 예외를 throw합니다.

적용 대상