Partager via


BatchedJoinBlock<T1,T2,T3>.ISourceBlock<Tuple<IList<T1>,IList<T2>,IList<T3>>>.ReserveMessage Méthode

Définition

Réserve le droit de passer la propriété du message identifié par le DataflowMessageHeader de ce ISourceBlock<TOutput> au ITargetBlock<TInput>.

 virtual bool System.Threading.Tasks.Dataflow.ISourceBlock<System.Tuple<System.Collections.Generic.IList<T1>,System.Collections.Generic.IList<T2>,System.Collections.Generic.IList<T3>>>.ReserveMessage(System::Threading::Tasks::Dataflow::DataflowMessageHeader messageHeader, System::Threading::Tasks::Dataflow::ITargetBlock<Tuple<System::Collections::Generic::IList<T1> ^, System::Collections::Generic::IList<T2> ^, System::Collections::Generic::IList<T3> ^> ^> ^ target) = System::Threading::Tasks::Dataflow::ISourceBlock<Tuple<System::Collections::Generic::IList<T1> ^, System::Collections::Generic::IList<T2> ^, System::Collections::Generic::IList<T3> ^> ^>::ReserveMessage;
bool ISourceBlock<Tuple<IList<T1>,IList<T2>,IList<T3>>>.ReserveMessage (System.Threading.Tasks.Dataflow.DataflowMessageHeader messageHeader, System.Threading.Tasks.Dataflow.ITargetBlock<Tuple<System.Collections.Generic.IList<T1>,System.Collections.Generic.IList<T2>,System.Collections.Generic.IList<T3>>> target);
abstract member System.Threading.Tasks.Dataflow.ISourceBlock<System.Tuple<System.Collections.Generic.IList<T1>,System.Collections.Generic.IList<T2>,System.Collections.Generic.IList<T3>>>.ReserveMessage : System.Threading.Tasks.Dataflow.DataflowMessageHeader * System.Threading.Tasks.Dataflow.ITargetBlock<System.Collections.Generic.IList<'T1> * System.Collections.Generic.IList<'T2> * System.Collections.Generic.IList<'T3>> -> bool
override this.System.Threading.Tasks.Dataflow.ISourceBlock<System.Tuple<System.Collections.Generic.IList<T1>,System.Collections.Generic.IList<T2>,System.Collections.Generic.IList<T3>>>.ReserveMessage : System.Threading.Tasks.Dataflow.DataflowMessageHeader * System.Threading.Tasks.Dataflow.ITargetBlock<System.Collections.Generic.IList<'T1> * System.Collections.Generic.IList<'T2> * System.Collections.Generic.IList<'T3>> -> bool
Function ReserveMessage (messageHeader As DataflowMessageHeader, target As ITargetBlock(Of Tuple(Of IList(Of T1), IList(Of T2), IList(Of T3)))) As Boolean Implements ISourceBlock(Of Tuple(Of IList(Of T1), IList(Of T2), IList(Of T3))).ReserveMessage

Paramètres

messageHeader
DataflowMessageHeader

DataflowMessageHeader du message qui doit être réservé.

target
ITargetBlock<Tuple<IList<T1>,IList<T2>,IList<T3>>>

ITargetBlock<TInput> pour lequel le message doit être réservé.

Retours

Boolean

true si le message a été réservé avec succès ; sinon false.

Implémente

Exceptions

messageHeader n'est pas valide.

target est null (Nothing dans Visual Basic).

Remarques

Pour ITargetBlock<TInput> lequel le message doit être réservé n’a pas besoin d’être lié à partir de cette ISourceBlock<TOutput> instance. De plus, cette ISourceBlock<TOutput> instance n’a peut-être jamais offert le message directement au ITargetBlock<TInput>.

Si true elle est retournée, vous devez ensuite appeler ConsumeMessage ou ReleaseReservation pour ce message avec le même DataflowMessageHeader message et ITargetBlock<TInput>. Si ce n’est pas le cas, la source peut ne pas être en mesure de propager d’autres messages vers n’importe quelle cible.

N’appelez ReserveMessage pas pendant que la cible contient des verrous internes. Cela violera la hiérarchie de verrou nécessaire pour éviter les blocages dans un réseau de flux de données.

S’applique à