Поделиться через


DataflowBlock.SendAsync Метод

Определение

Перегрузки

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

Асинхронно предлагает сообщение в целевому блоку сообщений, позволяет задержки.

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

Асинхронно предлагает сообщение в целевому блоку сообщений, позволяет задержки.

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

Исходный код:
DataflowBlock.cs
Исходный код:
DataflowBlock.cs
Исходный код:
DataflowBlock.cs
Исходный код:
DataflowBlock.cs

Асинхронно предлагает сообщение в целевому блоку сообщений, позволяет задержки.

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

Указывает тип данных, отправляемых целевому объекту.

Параметры

target
ITargetBlock<TInput>

Целевой объект, на который требуется отправить данные.

item
TInput

Элемент, предлагаемый целевому объекту.

cancellationToken
CancellationToken

Токен отмены, с которым требуется запросить отмену операции отправки.

Возвращаемое значение

Объект Task<TResult>, который представляет асинхронную отправку. Если целевой объект принимает и использует предлагаемый элемент во время вызова SendAsync, по возвращении из вызова результат Task<TResult> будет завершен, а его Result свойство вернет значение true. Если целевой объект отклоняет предлагаемый элемент во время вызова, по возвращении из вызова результат Task<TResult> будет завершен, а его Result свойство вернет значение false. Если целевой объект отложит предлагаемый элемент, элемент будет помещен в буфер до тех пор, пока целевой объект не будет использовать или отпустит его, после чего задача будет завершена с указанием того, Result было ли использовано сообщение. Если целевой объект не пытается употребить или высвободить сообщение, возвращаемая задача никогда не будет завершена.

Если отмена запрашивается до того, как целевой объект успешно потребил отправленные данные, возвращенная задача будет завершена в отмененном состоянии, и данные больше не будут доступны целевому объекту.

Исключения

Имеет target значение NULL (Nothing в Visual Basic).

Маркер отмены был отменен. Это исключение сохраняется в возвращаемой задаче.

Применяется к

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

Исходный код:
DataflowBlock.cs
Исходный код:
DataflowBlock.cs
Исходный код:
DataflowBlock.cs
Исходный код:
DataflowBlock.cs

Асинхронно предлагает сообщение в целевому блоку сообщений, позволяет задержки.

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

Указывает тип данных, отправляемых целевому объекту.

Параметры

target
ITargetBlock<TInput>

Целевой объект, на который требуется отправить данные.

item
TInput

Элемент, предлагаемый целевому объекту.

Возвращаемое значение

Объект Task<TResult>, который представляет асинхронную отправку. Если целевой объект принимает и использует предлагаемый элемент во время вызова метода SendAsync<TInput>(ITargetBlock<TInput>, TInput), то при возврате из вызова результирующий объект Task<TResult> будет завершен и его свойство Result возвратит значение true. Если целевой объект отклоняет предлагаемый элемент во время вызова, то при возврате из вызова результирующий объект Task<TResult> будет завершен и его свойство Result возвратит значение false . Если целевой объект откладывает предлагаемый элемент, элемент буферизуется до тех пор, пока целевой объект не потребит или не высвободит его; тогда задача завершится, а ее свойство Result будет показывать, было ли потреблено сообщение. Если целевой объект не пытается употребить или высвободить сообщение, возвращаемая задача никогда не будет завершена.

Исключения

target является null.

Применяется к