DataflowBlock.SendAsync メソッド

定義

オーバーロード

SendAsync<TInput>(ITargetBlock<TInput>, TInput, CancellationToken)

ターゲット メッセージ ブロックにメッセージを非同期的に提供し、遅延を可能にします。Asynchronously offers a message to the target message block, allowing for postponement.

SendAsync<TInput>(ITargetBlock<TInput>, TInput)

ターゲット メッセージ ブロックにメッセージを非同期的に提供し、遅延を可能にします。Asynchronously offers a message to the target message block, allowing for postponement.

SendAsync<TInput>(ITargetBlock<TInput>, TInput, CancellationToken)

ターゲット メッセージ ブロックにメッセージを非同期的に提供し、遅延を可能にします。Asynchronously offers a message to the target message block, allowing for postponement.

public:
generic <typename TInput>
[System::Runtime::CompilerServices::Extension]
 static System::Threading::Tasks::Task<bool> ^ SendAsync(System::Threading::Tasks::Dataflow::ITargetBlock<TInput> ^ target, TInput item, System::Threading::CancellationToken cancellationToken);
public static System.Threading.Tasks.Task<bool> SendAsync<TInput> (this System.Threading.Tasks.Dataflow.ITargetBlock<TInput> target, TInput item, System.Threading.CancellationToken cancellationToken);
static member SendAsync : System.Threading.Tasks.Dataflow.ITargetBlock<'Input> * 'Input * System.Threading.CancellationToken -> System.Threading.Tasks.Task<bool>
<Extension()>
Public Function SendAsync(Of TInput) (target As ITargetBlock(Of TInput), item As TInput, cancellationToken As CancellationToken) As Task(Of Boolean)

型パラメーター

TInput

ターゲットにポストするデータ型を指定します。Specifies the type of the data to post to the target.

パラメーター

target
ITargetBlock<TInput>

データをポストするターゲット。The target to which to post the data.

item
TInput

ターゲットに提供される項目。The item being offered to the target.

cancellationToken
CancellationToken

送信操作のキャンセルを要求するキャンセル トークン。The cancellation token with which to request cancellation of the send operation.

戻り値

Task<Boolean>

非同期送信を表す Task<TResult>A Task<TResult> that represents the asynchronous send. ターゲットが SendAsync の呼び出し中に提供された要素を受け入れて使用する場合、呼び出しから戻ったときに、結果の Task<TResult> が完了し、その Result プロパティは true を返します。If the target accepts and consumes the offered element during the call to SendAsync, upon return from the call the resulting Task<TResult> will be completed and its Result property will return true. ターゲットが呼び出し中に提供された要素を拒否する場合、呼び出しから戻ったときに、結果の Task<TResult> が完了し、その Result プロパティは false を返します。If the target declines the offered element during the call, upon return from the call the resulting Task<TResult> will be completed and its Result property will return false. 提供された要素をターゲットが延期する場合、要素はターゲットが要素を使用または解放するまでバッファリングされます。要素が使用または解放された時点でタスクは完了し、Result はメッセージが使用されたかどうかを示します。If the target postpones the offered element, the element will be buffered until such time that the target consumes or releases it, at which point the Task will complete, with its Result indicating whether the message was consumed. ターゲットがメッセージを使用または解放しようとしない場合、返されたタスクは完了しません。If the target never attempts to consume or release the message, the returned task will never complete.

送信されたデータをターゲットが正常に使用し終わる前に取り消しが要求された場合、返されるタスクは取り消された状態で完了し、データはターゲットで使用できなくなります。If cancellation is requested before the target has successfully consumed the sent data, the returned task will complete in the Canceled state and the data will no longer be available to the target.

例外

target は null (Visual Basic では Nothing) です。The target is null (Nothing in Visual Basic).

適用対象

製品 Introduced

SendAsync<TInput>(ITargetBlock<TInput>, TInput)

ターゲット メッセージ ブロックにメッセージを非同期的に提供し、遅延を可能にします。Asynchronously offers a message to the target message block, allowing for postponement.

public:
generic <typename TInput>
[System::Runtime::CompilerServices::Extension]
 static System::Threading::Tasks::Task<bool> ^ SendAsync(System::Threading::Tasks::Dataflow::ITargetBlock<TInput> ^ target, TInput item);
public static System.Threading.Tasks.Task<bool> SendAsync<TInput> (this System.Threading.Tasks.Dataflow.ITargetBlock<TInput> target, TInput item);
static member SendAsync : System.Threading.Tasks.Dataflow.ITargetBlock<'Input> * 'Input -> System.Threading.Tasks.Task<bool>
<Extension()>
Public Function SendAsync(Of TInput) (target As ITargetBlock(Of TInput), item As TInput) As Task(Of Boolean)

型パラメーター

TInput

ターゲットにポストするデータ型を指定します。Specifies the type of the data to post to the target.

パラメーター

target
ITargetBlock<TInput>

データをポストするターゲット。The target to which to post the data.

item
TInput

ターゲットに提供される項目。The item being offered to the target.

戻り値

Task<Boolean>

非同期送信を表す Task<TResult>A Task<TResult> that represents the asynchronous send. ターゲットが SendAsync<TInput>(ITargetBlock<TInput>, TInput) の呼び出し中に提供された要素を受け入れて使用する場合、呼び出しから戻ったときに、結果の Task<TResult> が完了し、その Result プロパティは true を返します。If the target accepts and consumes the offered element during the call to SendAsync<TInput>(ITargetBlock<TInput>, TInput), upon return from the call the resulting Task<TResult> will be completed and its Result property will return true. ターゲットが呼び出し中に提供された要素を拒否する場合、呼び出しから戻ったときに、結果の Task<TResult> が完了し、その Result プロパティは false を返します。If the target declines the offered element during the call, upon return from the call the resulting Task<TResult> will be completed and its Result property will return false. 提供された要素をターゲットが延期する場合、要素はターゲットが要素を使用または解放するまでバッファリングされます。要素が使用または解放された時点でタスクは完了し、Result はメッセージが使用されたかどうかを示します。If the target postpones the offered element, the element will be buffered until such time that the target consumes or releases it, at which point the task will complete, with its Result indicating whether the message was consumed. ターゲットがメッセージを使用または解放しようとしない場合、返されたタスクは完了しません。If the target never attempts to consume or release the message, the returned task will never complete.

例外

targetnull です。The target is null.

適用対象

製品 Introduced