Freigeben über


IEventProcessor Schnittstelle

Definition

Schnittstelle, die von Ereignisprozessorklassen implementiert werden muss.

Jede angegebene instance einer Ereignisprozessorklasse verarbeitet nur Ereignisse von einer Partition eines Event Hubs. Bei jedem Aufruf des Ereignisprozessors wird ein PartitionContext bereitgestellt, da sich einige Parameter ändern können, aber immer die gleiche Partition ist.

Obwohl EventProcessorHost multithreaded ist, werden Aufrufe einer bestimmten instance einer Ereignisprozessorklasse serialisiert, mit Ausnahme von OnError(). OnOpen() wird zuerst aufgerufen, dann wird OnEvents() 0 oder mehr mal aufgerufen. Wenn der Ereignisprozessor heruntergefahren werden muss, sei es, weil irgendwo ein Fehler aufgetreten ist oder die Lease für die Partition verloren gegangen ist oder weil der gesamte Prozessorhost heruntergefahren wird, wird OnClose() aufgerufen, nachdem der letzte OnEvents()-Aufruf zurückgegeben wurde.

OnError() kann aufgerufen werden, während OnEvents() oder OnClose() ausgeführt wird. Es wird keine Synchronisierung versucht, um möglicherweise Deadlocking zu vermeiden.

public interface IEventProcessor
type IEventProcessor = interface
Public Interface IEventProcessor

Methoden

CloseAsync(PartitionContext, CloseReason)

Wird vom Prozessorhost aufgerufen, um anzugeben, dass der Ereignisprozessor beendet wird.

OpenAsync(PartitionContext)

Wird vom Prozessorhost aufgerufen, um den Ereignisprozessor zu initialisieren.

ProcessErrorAsync(PartitionContext, Exception)

Wird aufgerufen, wenn beim Empfang des zugrunde liegenden Clients ein Fehler auftritt. EventProcessorHost kümmert sich um die Wiederherstellung nach dem Fehler und die Weiterverarbeitung von Nachrichten, sodass für Ihren Code keine Aktion erforderlich ist. Diese Methode dient zu Informationszwecken.

ProcessEventsAsync(PartitionContext, IEnumerable<EventData>)

Wird vom Prozessorhost aufgerufen, wenn ein Batch von Ereignissen eingetroffen ist.

Hier wird die eigentliche Arbeit des Ereignisprozessors erledigt.

Gilt für: