DataflowBlockOptions.EnsureOrdered Property
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets or sets a value that indicates whether ordered processing should be enforced on a block's handling of messages.
public:
property bool EnsureOrdered { bool get(); void set(bool value); };
public bool EnsureOrdered { get; set; }
member this.EnsureOrdered : bool with get, set
Public Property EnsureOrdered As Boolean
Property Value
true
if ordered processing should be enforced; otherwise, false
. The default value is true
.
Remarks
By default, dataflow blocks enforce ordering on the processing of messages. This means that a block like System.Threading.Tasks.Dataflow.TransformBlock<TInput,TOutput> will ensure that messages are output in the same order they were input, even if parallelism is employed by the block, and the processing of a message N finishes after the processing of a subsequent message N+1 (the block will reorder the results to maintain the input ordering prior to making those results available to a consumer). Some blocks may allow this to be relaxed, however. Setting EnsureOrdered to false tells a block that it may relax this ordering if it's able to do so. This can be beneficial if making a processed result immediately available is more important than maintaining the input-to-output ordering.