BroadcastBlock<T>.ISourceBlock<T>.ReserveMessage 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
이 ITargetBlock<TInput>에 의해 이전에 제공한 DataflowMessageHeader를 예약하기 위해 연결된 ISourceBlock<TOutput>에 의해 호출됩니다.
virtual bool System.Threading.Tasks.Dataflow.ISourceBlock<T>.ReserveMessage(System::Threading::Tasks::Dataflow::DataflowMessageHeader messageHeader, System::Threading::Tasks::Dataflow::ITargetBlock<T> ^ target) = System::Threading::Tasks::Dataflow::ISourceBlock<T>::ReserveMessage;
bool ISourceBlock<T>.ReserveMessage (System.Threading.Tasks.Dataflow.DataflowMessageHeader messageHeader, System.Threading.Tasks.Dataflow.ITargetBlock<T> target);
abstract member System.Threading.Tasks.Dataflow.ISourceBlock<T>.ReserveMessage : System.Threading.Tasks.Dataflow.DataflowMessageHeader * System.Threading.Tasks.Dataflow.ITargetBlock<'T> -> bool
override this.System.Threading.Tasks.Dataflow.ISourceBlock<T>.ReserveMessage : System.Threading.Tasks.Dataflow.DataflowMessageHeader * System.Threading.Tasks.Dataflow.ITargetBlock<'T> -> bool
Function ReserveMessage (messageHeader As DataflowMessageHeader, target As ITargetBlock(Of T)) As Boolean Implements ISourceBlock(Of T).ReserveMessage
매개 변수
- messageHeader
- DataflowMessageHeader
받고 있는 메시지의 DataflowMessageHeader입니다.
- target
- ITargetBlock<T>
메시지를 예약하는 ITargetBlock<TInput>입니다.
반환
메시지를 성공적으로 예약했으면 true
이고, 그렇지 않으면 false
입니다.
구현
예외
messageHeader
이 올바르지 않은 경우
target
이 null
인 경우
설명
만 ITargetBlock<TInput> 이 연결 된 인스턴스 ISourceBlock<TOutput> 인스턴스를 사용할 수 있습니다 ReserveMessage, 예약에 사용 해야 합니다 DataflowMessageHeader 인스턴스가이 원본을 대상으로 이전에 제공 합니다.
반환되는 경우 true
이후에 이 메시지 중 하나 ConsumeMessage 또는 ReleaseReservation 이 메시지를 호출해야 ITargetBlock<TInput> 합니다. 이렇게 하지 않으면이 또는 다른 대상에 메시지를 더 이상 전달할 수 없는 소스에서 발생할 수 있습니다.
ReserveMessage 대상 유지 하는 동안 내부 잠금을 하지 호출 해야 합니다. 이렇게 위반 잠금 계층 구조의 데이터 흐름 네트워크에서 교착 상태를 방지 하기 위해 필요 합니다.