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


IAsyncObserver<T> Интерфейс

Определение

Этот интерфейс обобщает стандартный интерфейс IObserver .NET, чтобы разрешить асинхронную рабочую среду элементов.

Обратите внимание, что этот интерфейс реализуется потребителями элементов и вызывается (используется) производителями элементов. Это означает, что конечная точка потребителя потока реализует этот интерфейс.

public interface IAsyncObserver<in T>
type IAsyncObserver<'T> = interface
Public Interface IAsyncObserver(Of In T)

Параметры типа

T

Тип объекта, потребляемого наблюдателем.

Это контравариантный параметр типа. Это означает, что вы можете использовать любой из указанных типов или любой тип, являющийся менее производным. Дополнительные сведения о ковариантности и контрвариантности см. в статье Ковариантность и контрвариантность в универсальных шаблонах.
Производный

Методы

OnCompletedAsync()

Уведомляет потребителя о завершении потока.

Задача, возвращаемая этим методом, должна быть завершена, когда потребитель завершает обработку закрытия потока.

OnErrorAsync(Exception)

Уведомляет потребителя о том, что поток имел ошибку.

Задача, возвращаемая этим методом, должна быть завершена, когда потребитель завершает обработку закрытия потока.

OnNextAsync(T, StreamSequenceToken)

Передает следующий элемент потребителю.

Задача, возвращаемая этим методом, должна быть завершена, когда обработка элемента была достаточно обработана потребителем для удовлетворения любых гарантий поведения.

Когда потребитель является (конечной точкой производителя) потока, задача завершается, когда реализация потока взяла на себя ответственность за элемент и гарантирует соблюдение своих гарантий доставки. Например, поток, основанный на устойчивой очереди, завершит задачу, когда элемент был успешно сохранен. Поток, который обеспечивает максимальное время доставки, вернет задачу, которая уже завершена.

Когда производитель является (конечной точкой потребителя) потока, задача должна быть завершена кодом потребителя, когда он принял ответственность за элемент. В частности, если поставщик потоков гарантирует по крайней мере однократную доставку, то элемент не должен считаться доставленным до тех пор, пока задача, возвращенная потребителем, не будет завершена.

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