다음을 통해 공유


PipeStream.WriteAsync 메서드

정의

오버로드

WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)

바이트의 시퀀스를 현재 스트림에 비동기적으로 쓰고 쓰여진 바이트 수만큼 이 스트림 내의 현재 위치를 앞으로 이동한 후 취소 요청을 모니터링합니다.

WriteAsync(Byte[], Int32, Int32, CancellationToken)

지정된 위치에서 시작하는 바이트 배열에서 지정된 바이트 수를 비동기적으로 쓰고, 쓴 바이트 수만큼 이 스트림 내의 현재 위치를 앞으로 이동하고, 취소 요청을 모니터링합니다.

WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)

Source:
PipeStream.Unix.cs
Source:
PipeStream.Unix.cs
Source:
PipeStream.Unix.cs

바이트의 시퀀스를 현재 스트림에 비동기적으로 쓰고 쓰여진 바이트 수만큼 이 스트림 내의 현재 위치를 앞으로 이동한 후 취소 요청을 모니터링합니다.

public override System.Threading.Tasks.ValueTask WriteAsync (ReadOnlyMemory<byte> buffer, System.Threading.CancellationToken cancellationToken = default);
override this.WriteAsync : ReadOnlyMemory<byte> * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask
Public Overrides Function WriteAsync (buffer As ReadOnlyMemory(Of Byte), Optional cancellationToken As CancellationToken = Nothing) As ValueTask

매개 변수

buffer
ReadOnlyMemory<Byte>

데이터를 기록할 메모리의 영역입니다.

cancellationToken
CancellationToken

취소 요청을 모니터링할 토큰입니다. 기본값은 None입니다.

반환

비동기 쓰기 작업을 나타내는 작업입니다.

예외

스트림이 쓰기를 지원하지 않습니다.

닫힌 파이프에는 액세스할 수 없습니다.

파이프가 끊어졌습니다.

파이프가 아직 연결되지 않았습니다.

또는

파이프 연결이 끊어진 상태입니다.

또는

파이프 핸들이 설정되지 않은 경우 (PipeStream 구현이 InitializeHandle(SafePipeHandle, Boolean, Boolean)을 호출했습니까?

취소 토큰이 취소되었습니다. 이 예외는 반환된 작업에 저장됩니다.

설명

메서드 WriteAsync 를 사용하면 기본 스레드를 차단하지 않고 리소스 집약적 I/O 작업을 수행할 수 있습니다. 이 성능 고려 사항은 시간이 많이 걸리는 스트림 작업이 UI 스레드를 차단하고 앱이 작동하지 않는 것처럼 표시되도록 할 수 있는 애플리케이션에서 특히 중요합니다. 비동기 메서드는 Visual Basic 및 C#의 asyncawait 키워드와 함께 사용됩니다.

CanWrite 현재 instance 쓰기를 지원하는지 여부를 확인하려면 속성을 사용합니다.

작업이 완료되기 전에 취소된 경우 반환된 작업에는 속성 값이 CanceledStatus 포함됩니다.

적용 대상

WriteAsync(Byte[], Int32, Int32, CancellationToken)

Source:
PipeStream.Unix.cs
Source:
PipeStream.Unix.cs
Source:
PipeStream.Unix.cs

지정된 위치에서 시작하는 바이트 배열에서 지정된 바이트 수를 비동기적으로 쓰고, 쓴 바이트 수만큼 이 스트림 내의 현재 위치를 앞으로 이동하고, 취소 요청을 모니터링합니다.

public:
 override System::Threading::Tasks::Task ^ WriteAsync(cli::array <System::Byte> ^ buffer, int offset, int count, System::Threading::CancellationToken cancellationToken);
public override System.Threading.Tasks.Task WriteAsync (byte[] buffer, int offset, int count, System.Threading.CancellationToken cancellationToken);
override this.WriteAsync : byte[] * int * int * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Overrides Function WriteAsync (buffer As Byte(), offset As Integer, count As Integer, cancellationToken As CancellationToken) As Task

매개 변수

buffer
Byte[]

데이터를 쓸 버퍼입니다.

offset
Int32

스트림으로 바이트를 복사하기 시작할 buffer의 바이트 오프셋(0부터 시작)입니다.

count
Int32

쓸 최대 바이트 수입니다.

cancellationToken
CancellationToken

취소 요청을 모니터링할 토큰입니다. 기본값은 None입니다.

반환

비동기 쓰기 작업을 나타내는 작업입니다.

예외

buffer이(가) null인 경우

offset가 음수입니다.

또는

count가 음수입니다.

buffer.Length - offsetcount보다 작습니다.

스트림이 쓰기를 지원하지 않습니다.

닫힌 파이프에는 액세스할 수 없습니다.

파이프가 끊어졌습니다.

파이프가 아직 연결되지 않았습니다.

또는

파이프 연결이 끊어진 상태입니다.

또는

파이프 핸들이 설정되지 않은 경우 (PipeStream 구현이 InitializeHandle(SafePipeHandle, Boolean, Boolean)을 호출했습니까?

취소 토큰이 취소되었습니다. 이 예외는 반환된 작업에 저장됩니다.

설명

메서드 WriteAsync 를 사용하면 기본 스레드를 차단하지 않고 리소스 집약적 I/O 작업을 수행할 수 있습니다. 이 성능 고려 사항은 시간이 많이 걸리는 스트림 작업이 UI 스레드를 차단하고 앱이 작동하지 않는 것처럼 표시되도록 할 수 있는 애플리케이션에서 특히 중요합니다. 비동기 메서드는 Visual Basic 및 C#의 asyncawait 키워드와 함께 사용됩니다.

CanWrite 현재 instance 쓰기를 지원하는지 여부를 확인하려면 속성을 사용합니다.

작업이 완료되기 전에 취소된 경우 반환된 작업에는 속성 값이 TaskStatus.CanceledStatus 포함됩니다.

이 메서드는 메서드의 동기 대응에서 throw할 수 있는 모든 비사용 예외를 반환하는 작업에 저장됩니다. 예외가 반환된 작업에 저장되면 작업이 대기될 때 해당 예외가 throw됩니다. 와 같은 ArgumentException사용 예외는 여전히 동기적으로 throw됩니다. 저장된 예외는 에서 throw Write(Byte[], Int32, Int32)된 예외를 참조하세요.

적용 대상