TransformManyBlock<TInput,TOutput>.ISourceBlock<TOutput>.ReserveMessage Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Appelé par un ITargetBlock<TInput> lié pour réserver un DataflowMessageHeader précédemment proposé par ce ISourceBlock<TOutput>.
virtual bool System.Threading.Tasks.Dataflow.ISourceBlock<TOutput>.ReserveMessage(System::Threading::Tasks::Dataflow::DataflowMessageHeader messageHeader, System::Threading::Tasks::Dataflow::ITargetBlock<TOutput> ^ target) = System::Threading::Tasks::Dataflow::ISourceBlock<TOutput>::ReserveMessage;
bool ISourceBlock<TOutput>.ReserveMessage (System.Threading.Tasks.Dataflow.DataflowMessageHeader messageHeader, System.Threading.Tasks.Dataflow.ITargetBlock<TOutput> target);
abstract member System.Threading.Tasks.Dataflow.ISourceBlock<TOutput>.ReserveMessage : System.Threading.Tasks.Dataflow.DataflowMessageHeader * System.Threading.Tasks.Dataflow.ITargetBlock<'Output> -> bool
override this.System.Threading.Tasks.Dataflow.ISourceBlock<TOutput>.ReserveMessage : System.Threading.Tasks.Dataflow.DataflowMessageHeader * System.Threading.Tasks.Dataflow.ITargetBlock<'Output> -> bool
Function ReserveMessage (messageHeader As DataflowMessageHeader, target As ITargetBlock(Of TOutput)) As Boolean Implements ISourceBlock(Of TOutput).ReserveMessage
Paramètres
- messageHeader
- DataflowMessageHeader
DataflowMessageHeader du message en cours de réservation.
- target
- ITargetBlock<TOutput>
ITargetBlock<TInput> réservant le message.
Retours
true
si le message a été réservé avec succès ; sinon false
.
Implémente
Exceptions
messageHeader
n'est pas valide.
target
a la valeur null
.
Remarques
Seules ITargetBlock<TInput> les instances liées à cette ISourceBlock<TOutput> instance peuvent utiliser ReserveMessageet doivent uniquement être utilisées pour réserver DataflowMessageHeader des instances précédemment proposées par cette source à la cible.
S’il true
est retourné, le message doit être appelé ConsumeMessage par la ITargetBlock<TInput> suite ou ReleaseReservation pour ce message. Si ce n’est pas le cas, la source peut être incapable de propager d’autres messages à cette ou à d’autres cibles.
ReserveMessage ne doit pas être appelé pendant que la cible contient des verrous internes. Cela enfreint la hiérarchie de verrous nécessaire pour éviter les interblocages dans un réseau de flux de données.