BufferedStream.BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
비동기 읽기 작업을 시작합니다. (대신 사용하는 ReadAsync(Byte[], Int32, Int32, CancellationToken) 것이 좋습니다.)
public:
override IAsyncResult ^ BeginRead(cli::array <System::Byte> ^ buffer, int offset, int count, AsyncCallback ^ callback, System::Object ^ state);
public override IAsyncResult BeginRead(byte[] buffer, int offset, int count, AsyncCallback? callback, object? state);
public override IAsyncResult BeginRead(byte[] buffer, int offset, int count, AsyncCallback callback, object state);
public override IAsyncResult BeginRead(byte[] buffer, int offset, int count, AsyncCallback callback, object? state);
override this.BeginRead : byte[] * int * int * AsyncCallback * obj -> IAsyncResult
Public Overrides Function BeginRead (buffer As Byte(), offset As Integer, count As Integer, callback As AsyncCallback, state As Object) As IAsyncResult
매개 변수
- buffer
- Byte[]
데이터를 읽을 버퍼입니다.
- offset
- Int32
스트림에서 buffer 읽은 데이터 쓰기를 시작할 바이트 오프셋입니다.
- count
- Int32
읽을 최대 바이트 수입니다.
- callback
- AsyncCallback
읽기가 완료되면 호출할 선택적 비동기 콜백입니다.
- state
- Object
이 특정 비동기 읽기 요청을 다른 요청과 구분하는 사용자 제공 개체입니다.
반환
보류 중일 수 있는 비동기 읽기를 나타내는 개체입니다.
예외
buffer은 null입니다.
offset 또는 count 음수입니다.
스트림의 끝을 지나 비동기 읽기를 시도했습니다.
버퍼 길이에서 빼 offset 기 값이 .보다 count작습니다.
현재 스트림은 읽기 작업을 지원하지 않습니다.
설명
.NET Framework 4 및 이전 버전에서는 비동기 파일 작업과 EndRead 같은 BeginRead 메서드를 사용하고 구현해야 합니다. 이러한 메서드는 레거시 코드를 지원하기 위해 .NET Framework 4.5에서 계속 사용할 수 있습니다. 그러나 새 비동기 메서드(예: ReadAsync, WriteAsync및 FlushAsync)는 비동기 파일 작업을 보다 쉽게 구현하는 데 도움이 됩니다.
EndWrite 에 대한 모든 호출에 대해 정확히 한 번 호출되어야 합니다 BeginRead. 다른 읽기를 시작하기 전에 읽기 프로세스를 종료하지 못하면 교착 상태와 같은 바람직하지 않은 동작이 발생할 수 있습니다.
메모
현재 인스턴스에서 CanRead 읽기를 지원하는지 여부를 확인하려면 이 속성을 사용합니다.
EndRead 는 읽은 바이트 수를 확인하려면 이 IAsyncResult 항목으로 호출해야 합니다.