Freigeben über


Benutzerdefinierte Ereignisanbieter

Benutzerdefinierte Ereignisanbieter sind benutzerdefinierte Komponenten, die Ereignisdaten an Notification Services-Anwendungen senden. Wenn Sie einen benutzerdefinierten Ereignisanbieter entwickeln, müssen Sie den Typ des zu entwickelnden Ereignisanbieters, die Quelle für Ereignisdaten und die zum Absenden von Daten verwendete API festlegen.

Typen von benutzerdefinierten Ereignisanbietern

Benutzerdefinierte Ereignisanbieter können gehostet oder nicht gehostet (unabhängig) sein. Gehostete Ereignisanbieter werden vom Anbieterhost des Notification Services-Moduls ausgeführt.

Gehostete Ereignisanbieter können einfacher entwickelt werden, da sie den Notification Services-Anbieterhost nutzen können. Gehostete Ereignisanbieter können zudem wie andere Notification Services-Komponenten aktiviert und deaktiviert werden. Weitere Informationen zum Entwickeln von gehosteten Ereignisanbietern finden Sie unter Entwickeln von gehosteten Ereignisanbietern.

Nicht gehostete Ereignisanbieter werden außerhalb des Notification Services-Systems ausgeführt. Sie sind nützlich, wenn Sie über eine vorhandene Infrastruktur verfügen, die Sie zum Absenden von Ereignissen verwenden möchten, oder wenn Sie Ereignisse bei Bedarf absenden möchten. Weitere Informationen zum Entwickeln von nicht gehosteten Ereignisanbietern finden Sie unter Entwickeln von nicht gehosteten Ereignisanbietern.

Sammeln von Ereignisdaten

Es gibt viele Möglichkeiten, Daten zu sammeln. Sie können z. B. eine Datenbank abfragen, eine XML-Datei analysieren oder Daten über ein Microsoft Windows- oder Webformular absenden. Der Trigger zum Sammeln von Daten kann entweder ein Vorgang in der Anwendung sein, die Daten zum Ereignisanbieter überträgt, oder das geplante Abrufen einer Datenquelle.

Die Kenntnis der Datenquelle, des Formats und des Auflistungsmodells unterstützt Sie beim Auswählen einer Ereignisübermittlungs-API.

Ereignisübermittlungs-APIs

Wenn Sie die Datenquelle ermittelt haben, können Sie eine Ereignisübermittlungs-API auswählen. Notification Services besitzt drei Ereignisübermittlungs-APIs:

  • Wenn Ihre Daten in XML verfügbar sind, können Sie die EventLoader-Klasse verwenden, um eine oder mehrere Ereignisse aus der XML-Datenquelle in die Anwendungsdatenbank zu schreiben. Der integrierte FileSystemWatcher-Ereignisanbieter verwendet die EventLoader-Klasse.
  • Wenn sich die Daten in einer SQL Server-Datenbank befinden, können Sie die gespeicherten Prozeduren der Ereignisübermittlung verwenden, um einzelne Ereignisse zu schreiben oder zu sammeln und Daten mithilfe einer Transact-SQL-Abfrage abzusenden. Der integrierte SQL Server-Ereignisanbieter verwendet diese gespeicherten Prozeduren.
  • Wenn Sie über andere Ereignisquellen verfügen, können Sie die verwaltete Ereignisübermittlungs-API verwenden. Mit dieser API erstellen Sie ein Event-Objekt für jedes Ereignis und verwenden dann ein EventCollector-Objekt, um die Ereignisse in einem Batch zu sammeln und diesen Batch an die Anwendungsdatenbank zu übermitteln.

In diesen APIs werden Ereignisse in Batches an die Datenbank übermittelt. Erst wenn ein Commit für den Ereignisbatch ausgeführt wird, werden die Ereignisse für die Anwendung sichtbar.

Im folgenden Diagramm werden diese Ereignisübermittlungs-APIs gezeigt:

Architektur der Ereignisverarbeitung

Verwenden von benutzerdefinierten Ereignisanbietern

Zum Verwenden eines benutzerdefinierten Ereignisanbieters muss dieser in der Anwendungsdefinition deklariert sein. Weitere Informationen finden Sie unter Definieren von Ereignisanbietern.

Siehe auch

Konzepte

Verwenden der verwalteten Ereignisübermittlungs-API
Verwenden der API des XML-Ereignisladeprogramms
Verwenden von gespeicherten Prozeduren der Ereignisübermittlung

Andere Ressourcen

Entwickeln eines benutzerdefinierten Ereignisanbieters

Hilfe und Informationen

Informationsquellen für SQL Server 2005