你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

IEventProcessor 接口

定义

必须由事件处理程序类实现的接口。

事件处理程序类的任何给定实例将仅处理来自一个事件中心的一个分区的事件。 每次调用事件处理程序时都会提供 PartitionContext,因为某些参数可能会更改,但它始终是同一分区。

尽管 EventProcessorHost 是多线程的,但对事件处理程序类的给定实例的调用是序列化的,OnError () 除外。 首先调用 OnOpen () ,然后调用 OnEvents () 零次或多次。 当需要关闭事件处理程序时,无论是因为某个位置发生故障、分区的租约已丢失,还是因为整个处理器主机正在关闭,在返回最后一次 OnEvents () 调用后,都会调用 OnClose () 。

可以在 OnEvents () 或 OnClose () 执行时调用 OnError () 。 不会尝试同步以避免可能的死锁。

public interface IEventProcessor
type IEventProcessor = interface
Public Interface IEventProcessor

方法

CloseAsync(PartitionContext, CloseReason)

由处理器主机调用以指示正在停止事件处理程序。

OpenAsync(PartitionContext)

由处理器主机调用以初始化事件处理程序。

ProcessErrorAsync(PartitionContext, Exception)

当基础客户端在接收时遇到错误时调用。 EventProcessorHost 将负责从错误中恢复并继续泵送消息,因此无需从代码中执行任何操作。 此方法仅供参考。

ProcessEventsAsync(PartitionContext, IEnumerable<EventData>)

当一批事件到达时由处理器主机调用。

这是完成事件处理程序的实际工作的地方。

适用于