CryptoStream.BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
비동기 읽기 작업을 시작합니다. 대신 ReadAsync를 사용하세요.
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);
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
다른 요청에서 특정 비동기 읽기 요청을 구별하는 사용자 제공 개체입니다.
반환
보류 중인 비동기 읽기를 나타내는 IAsyncResult입니다.
예외
스트림의 끝을 넘어 비동기 읽기를 시도했거나 디스크 오류가 발생한 경우
하나 이상의 인수가 잘못된 경우
스트림이 닫힌 후에 메서드가 호출되었습니다.
현재 Stream
구현이 읽기 작업을 지원하지 않는 경우
설명
중요
.NET 6부터 이 메서드는 요청된 만큼 바이트를 읽지 못할 수 있습니다. 자세한 내용은 DeflateStream, GZipStream 및 CryptoStream의 부분 및 0바이트 읽기를 참조하세요.
.NET Framework 4 이하 버전에서 비동기 I/O 작업을 구현하려면 BeginRead 및 EndRead와 같은 메서드를 사용해야 합니다. 이러한 메서드는 레거시 코드를 지원하기 위해 현재 버전에서 계속 사용할 수 있습니다. 그러나 , , WriteAsyncCopyToAsync및 와 FlushAsync같은 ReadAsync새로운 비동기 메서드는 비동기 I/O 작업을 보다 쉽게 구현하는 데 도움이 됩니다.
IAsyncResult
반환 값을 스트림의 메서드에 EndRead 전달하여 읽은 바이트 수를 확인하고 읽기에 사용되는 운영 체제 리소스를 해제합니다. EndRead 에 대한 모든 호출에 대해 한 번 호출해야 합니다 BeginRead. 를 호출 BeginRead
한 것과 동일한 코드를 사용하거나 에 전달된 BeginRead
콜백에서 이 작업을 수행할 수 있습니다.
I/O 작업이 완료되지 않고 비동기 읽기 또는 쓰기가 실행되면 스트림의 현재 위치가 업데이트됩니다.
여러 동시 비동기 요청은 요청 완료 순서를 불확실하게 만듭니다.
사용 된 CanRead 현재 instance 읽기를 지원 하는지 여부를 확인 하려면 속성입니다.
스트림이 닫혀 있거나 잘못된 인수를 전달하면 에서 BeginRead
예외가 즉시 throw됩니다. I/O 요청 중 디스크 오류와 같은 비동기 읽기 요청 중에 발생하는 오류는 스레드 풀 스레드에서 발생하고 를 호출 EndRead
할 때 예외를 throw합니다.
적용 대상
.NET
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기