System.Threading.Tasks.Dataflow 命名空間

提供基於演員的程式設計模型,支援粗粒度資料流與管線任務的進程訊息傳遞。

類別

名稱 Description
ActionBlock<TInput>

提供一個資料流區塊,為每個收到的資料元素調用所提供的 Action<T> 代理。

BatchBlock<T>

提供一個資料流區塊,將輸入批次放入陣列。

BatchedJoinBlock<T1,T2>

提供一個資料流區塊,批次處理指定數量可能不同類型的輸入,並提供給一個或多個目標。

BatchedJoinBlock<T1,T2,T3>

提供一個資料流區塊,批次處理指定數量可能不同類型的輸入,並提供給一個或多個目標。

BroadcastBlock<T>

提供緩衝區,最多一次儲存一個元素,並在訊息到達時用下一個元素覆蓋。

BufferBlock<T>

提供一個緩衝區來儲存資料流。

DataflowBlock

提供一組靜態(可在 Visual Basic 中共享)方法來處理資料流區塊。

DataflowBlockOptions

提供用於設定資料流區塊處理的選項。

DataflowLinkOptions

提供用於設定資料流區塊間連結的選項。

ExecutionDataflowBlockOptions

提供選項,用於設定資料流區塊執行的處理,資料流區塊透過使用者提供的代理呼叫來處理每則訊息。 這些是資料流程區塊,如 ActionBlock<TInput>TransformBlock<TInput,TOutput>

GroupingDataflowBlockOptions

提供用於配置資料流區塊處理的選項,該區塊將多個訊息分組在一起。 這些是資料流程區塊,如 JoinBlock<T1,T2>BatchBlock<T>

JoinBlock<T1,T2>

提供一個資料流區塊,跨多個資料流來源(不一定是同一類型)連接,等待每個類型有一個項目到達後,才會以一個由每個類型一個項目組成的元組釋出。

JoinBlock<T1,T2,T3>

提供一個資料流區塊,跨多個資料流來源(不一定是同一類型)連接,等待每個類型有一個項目到達後,才會將它們全部釋放成一個包含每個類型一個項目的元組。

TransformBlock<TInput,TOutput>

提供一個資料流區塊,為每個收到的資料元素調用所提供的 Func<T,TResult> 代理。

TransformManyBlock<TInput,TOutput>

提供一個資料流區塊,為每個收到的資料元素調用所提供的 Func<T,TResult> 代理。

WriteOnceBlock<T>

提供一個緩衝區,最多可接收與儲存資料流區塊網路中的一個元素。

結構

名稱 Description
DataflowMessageHeader

提供數據屬性的容器,以在數據流區塊之間傳遞。

介面

名稱 Description
IDataflowBlock

代表一個資料流區塊。

IPropagatorBlock<TInput,TOutput>

代表一個資料流區塊,同時是資料的目標與資料來源。

IReceivableSourceBlock<TOutput>

代表一個支援接收訊息且不連結的資料流區塊。

ISourceBlock<TOutput>

代表資料流區塊,作為資料來源。

ITargetBlock<TInput>

代表一個資料流區塊,作為資料的目標。

列舉

名稱 Description
DataflowMessageStatus

表示數據流區塊之間傳遞時 DataflowMessageHeader 的狀態。

備註

Note

TPL 資料流連結庫 (System.Threading.Tasks.Dataflow 命名空間) 不會與 .NET 一起散發。 若要在 Visual Studio 中安裝 System.Threading.Tasks.Dataflow 命名空間,請開啟您的專案,從 [專案] 功能表選擇 [管理 NuGet 套件],然後在線搜尋 System.Threading.Tasks.Dataflow 套件。 或者,若要使用 .NET Core CLI安裝它,請執行 dotnet add package System.Threading.Tasks.Dataflow

欲了解更多資訊,請參閱 Dataflow