다음을 통해 공유


Stream.EndWrite(IAsyncResult) 메서드

정의

비동기 쓰기 작업을 끝냅니다. 대신 WriteAsync(Byte[], Int32, Int32)를 사용하세요.

public:
 virtual void EndWrite(IAsyncResult ^ asyncResult);
public virtual void EndWrite (IAsyncResult asyncResult);
abstract member EndWrite : IAsyncResult -> unit
override this.EndWrite : IAsyncResult -> unit
Public Overridable Sub EndWrite (asyncResult As IAsyncResult)

매개 변수

asyncResult
IAsyncResult

처리 중인 비동기 I/O 요청에 대한 참조입니다.

예외

asyncResult이(가) null인 경우

보류 중인 쓰기 작업에 대한 핸들을 사용할 수 없는 경우

또는

보류 중인 작업이 쓰기를 지원하지 않는 경우

asyncResult가 현재 스트림의 BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) 메서드에서 시작되지 않았습니다.

스트림이 닫혔거나 내부 오류가 발생했습니다.

설명

.NET Framework 4 및 이전 버전에서 비동기 I/O 작업을 구현하려면 BeginWriteEndWrite와 같은 메서드를 사용해야 합니다. 이러한 메서드는 레거시 코드를 지원하기 위해 .NET Framework 4.5에서 계속 사용할 수 있지만 , , WriteAsyncCopyToAsync및 와 FlushAsync같은 ReadAsync새로운 비동기 메서드는 비동기 I/O 작업을 보다 쉽게 구현하는 데 도움이 됩니다.

EndWrite는 에서 BeginWrite모든 IAsyncResult 에서 정확히 한 번 호출되어야 합니다.

이 메서드는 I/O 작업이 완료될 때까지 차단됩니다. I/O 요청 중 디스크 오류와 같은 비동기 쓰기 요청 중에 발생하는 오류는 스레드 풀 스레드에서 발생하고 에 대한 호출 EndWrite시 표시됩니다. 스레드 풀 스레드에서 throw된 예외는 를 호출 EndWrite할 때 표시되지 않습니다.

적용 대상

추가 정보