내보내기(0) 인쇄
모두 확장
정보
요청한 주제가 아래에 표시됩니다. 그러나 이 주제는 이 라이브러리에 포함되지 않습니다.

Stream.BeginWrite 메서드

2013-12-13

비동기 쓰기 작업을 시작합니다.

Namespace:  System.IO
어셈블리:  mscorlib(mscorlib.dll)

public virtual IAsyncResult BeginWrite(
	byte[] buffer,
	int offset,
	int count,
	AsyncCallback callback,
	Object state
)

매개 변수

buffer
형식: System.Byte []
데이터를 쓸 버퍼입니다.
offset
형식: System.Int32
쓰기를 시작할 buffer의 바이트 오프셋입니다.
count
형식: System.Int32
쓸 최대 바이트 수입니다.
callback
형식: System.AsyncCallback
쓰기가 완료되면 호출되는 선택적 비동기 콜백입니다.
state
형식: System.Object
다른 요청에서 특정 비동기 쓰기 요청을 구별하는 사용자 제공 개체입니다.

반환 값

형식: System.IAsyncResult
보류 중인 비동기 쓰기를 나타내는 IAsyncResult입니다.

예외조건
IOException

스트림의 끝을 넘어 비동기 쓰기를 시도했거나 디스크 오류가 발생한 경우

ArgumentException

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

ObjectDisposedException

스트림이 닫힌 후 메서드가 호출된 경우

NotSupportedException

현재 Stream 구현이 쓰기 작업을 지원하지 않는 경우

스트림에서 BeginWrite의 기본 구현은 Write 메서드를 동기적으로 호출하므로 Write가 일부 스트림에서 차단될 수 있습니다. 그러나FileStream과 같은 클래스의 인스턴스는 비동기적으로 열려 있을 경우 비동기 작업을 충분히 지원합니다. 따라서 BeginWrite를 호출하면 해당 스트림에서 차단되지 않습니다. BeginWrite를 재정의하여(예: 비동기 대리자를 사용하여 재정의) 비동기 동작을 제공할 수 있습니다.

현재 메서드에서 반환된 IAsyncResultEndWrite에 전달하여, 쓰기를 완료하고 리소스를 적절하게 해제해야 합니다. EndWriteBeginWrite를 호출할 때마다 한 번씩 호출해야 합니다. BeginWrite를 호출한 것과 동일한 코드를 사용하거나 BeginWrite에 전달된 콜백에서 이렇게 할 수 있습니다. 비동기 쓰기 도중 오류가 발생할 경우, 이 메서드에서 반환된 IAsyncResult와 함께 EndWrite가 호출되기 전에는 예외가 발생하지 않습니다.

스트림에 쓸 수 있는 경우 끝에 쓰면 해당 스트림이 확장됩니다.

I/O 작업이 완료될 때가 아니라 비동기 읽기 또는 쓰기를 실행할 때 스트림의 현재 위치가 업데이트됩니다. 비동기 요청을 동시에 여러 번 시도하면 요청 완료 순서가 불확실해집니다.

현재 인스턴스가 쓰기를 지원하는지 여부를 결정하려면 CanWrite 속성을 사용합니다.

스트림이 닫혀 있거나 잘못된 인수를 전달하는 경우 BeginWrite에서 즉시 예외가 발생합니다. I/O 요청 중에 발생하는 디스크 오류와 같이 비동기 쓰기 요청 중에 발생하는 오류는 스레드 풀 스레드에서 발생하며 EndWrite 호출 시 예외를 발생시킵니다.

Windows Phone OS

지원되는 버전: 8.0, 7.1, 7.0

Windows Phone

Microsoft는 MSDN 웹 사이트에 대한 귀하의 의견을 이해하기 위해 온라인 설문 조사를 진행하고 있습니다. 참여하도록 선택하시면 MSDN 웹 사이트에서 나가실 때 온라인 설문 조사가 표시됩니다.

참여하시겠습니까?
표시:
© 2014 Microsoft