Freigeben über


Definieren von gehosteten Ereignisanbietern

Gehostete Ereignisanbieter werden vom Notification Services-Modul gehostet. Beim Start des Moduls werden alle aktivierten gehosteten Ereignisanbieter initialisiert und ausgeführt.

In der Anwendungsdefinition stellen Sie die Informationen bereit, die das Modul benötigt, um nach gehosteten Ereignisanbietern zu suchen, diese zu initialisieren und auszuführen.

Typen von gehosteten Ereignisanbietern

Ein gehosteter Ereignisanbieter kann kontinuierlich oder geplant sein:

  • Ein kontinuierlicher Ereignisanbieter wird gestartet, wenn das Modul gestartet wird, und wird beendet, wenn das Modul beendet wird. Er bestimmt, wie und wann Ereignisse übermittelt werden.
    Wenn Sie einen benutzerdefinierten kontinuierlichen Ereignisanbieter entwickeln, müssen Sie die IEventProvider-Schnittstelle implementieren.
  • Ein geplanter Ereignisanbieter wird zusammen mit dem Modul gestartet. Anschließend wird in vordefinierten Intervallen eine Überprüfung auf neue Ereignisse ausgelöst.
    Sie stellen den Zeitplan in der Anwendungsdefinition bereit.
    Wenn Sie einen benutzerdefinierten geplanten Ereignisanbieter entwickeln, müssen Sie die IScheduledEventProvider-Schnittstelle implementieren.

Definieren eines gehosteten Ereignisanbieters

Jede Anwendung kann gehostete Ereignisanbieter aufweisen. Beim Definieren einer Anwendung definieren Sie jeden von der Anwendung verwendeten Ereignisanbieter. Dabei geben Sie Eigenschaften an wie den Namen des Ereignisanbieters, die Klasse, die den Ereignisanbieter implementiert, die Assembly, die die Klasse enthält, und alle Argumente, die zum Initialisieren des Ereignisanbieters erforderlich sind.

So definieren Sie einen gehosteten Ereignisanbieter

Definieren Sie gehostete Ereignisanbieter im Providers-Element der Anwendungsdefinitionsdatei (Application Definition File, ADF), wenn Sie eine Anwendung in XML definieren. Wenn Sie eine Anwendung mithilfe von Notification Services Management Objects (NMO) definieren, definieren Sie einzelne HostedEventProvider-Objekte und fügen sie einer HostedEventProviderCollection-Auflistung hinzu. Verwenden Sie dazu die HostedEventProviders-Eigenschaft der Anwendung.

Ereignisanbietername

Der Ereignisanbietername identifiziert den Ereignisanbieter, der jeden Batch von Ereignissen übermittelt hat. Häufig geben Sie beim Debuggen, der Problembehandlung und dem Überwachen von Anwendungen den Ereignisanbieternamen als Parameter an.

So definieren Sie den Ereignisanbieternamen

Klassenname

Sie müssen für jeden gehosteten Ereignisanbieter den Namen der Klasse angeben, die den Ereignisanbieter implementiert.

  • Bei benutzerdefinierten gehosteten Ereignisanbietern muss der Klassenname der Microsoft .NET Framework-Benennungskonvention Namespace.ClassName entsprechen. Weitere Informationen zu Namespace-Benennungskonventionen finden Sie unter Namespace Naming Guidelines (in Englisch) in der Microsoft MSDN Library.
  • Bei Notification Services-Standardereignisanbietern enthält der Klassenname den Namespace nicht. Verwenden Sie den Klassennamen, der in der Dokumentation des Ereignisanbieters angegeben ist. Weitere Informationen finden Sie unter Standardereignisanbieter.

So definieren Sie den Klassennamen

Assemblyname

Geben Sie den Namen der Assembly an, die die Klasse des gehosteten Ereignisanbieters enthält, wenn Sie einen benutzerdefinierten Ereignisanbieter definieren. Der Name muss entweder den vollqualifizierten Pfad oder den vollqualifizierten Assemblynamen enthalten.

Definieren Sie den Assemblynamen nicht, wenn Sie einen Standardereignisanbieter definieren. Die Klassen, die die Standardereignisanbieter definieren, befinden sich in der Notification Services-Kernassembly.

So definieren Sie den Assemblynamen

Systemname

Die Systemnameneigenschaft gibt den Namen des Systems an, auf dem der gehostete Ereignisanbieter ausgeführt wird. Dieser Wert entspricht in der Regel dem Computernamen. Wenn der Ereignisanbieter jedoch in einem Failovercluster ausgeführt wird, entspricht dieser Wert dem Namen des virtuellen Servers.

Die Notification Services-Clientkomponenten müssen auf dem Computer installiert sein, und die Instanz muss auf dem Computer registriert sein.

Weitere Informationen zum dezentralen Skalieren einer Anwendung finden Sie unter Konfigurationen für das dezentrale Skalieren.

So definieren Sie den Systemnamen

Zeitplan

Definieren Sie keinen Zeitplan, wenn Sie einen kontinuierlichen Ereignisanbieter definieren, der alle Standardereignisanbieter und ggf. einen benutzerdefinierten Ereignisanbieter enthält, der die IEventProvider Schnittstelle implementiert.

Wenn Sie einen geplanten Ereignisanbieter definieren, der die IScheduledEventProvider-Schnittstelle implementiert, müssen Sie einen Zeitplan für den Ereignisanbieter definieren.

Ein Zeitplan hat die folgenden Eigenschaften:

  • Die Startzeiteigenschaft gibt eine Tageszeit (24-Stundenzeitraum) in UTC an, aus der von Notification Services die Aufrufzeiten für den geplanten Ereignisanbieter berechnet werden. Beispielsweise sind die Aufrufzeiten des geplanten Ereignisanbieters 10:00, 13:00, 16:00 usw., wenn die Startzeit 10:00 ist und das Intervall drei Stunden beträgt. Wenn die Anwendung um 12:32 gestartet wird, wird der Ereignisanbieter erstmalig um 13:00 ausgeführt. Weitere Beispiele finden Sie unter StartTime Element for HostedProvider/Schedule (ADF).
  • Die Intervalleigenschaft gibt an, wie oft der geplante Ereignisanbieter ausgeführt wird.

So definieren Sie einen Zeitplan für einen geplanten Ereignisanbieter

Timeout

Für jeden gehosteten Ereignisanbieter muss die Verarbeitung innerhalb eines vordefinierten Zeitraumes beendet sein. Wenn der gehostete Ereignisanbieter die Verarbeitung nicht innerhalb dieser Zeit abschließt, wird das aktuelle Verarbeitungsintervall abgebrochen.

Gehostete Ereignisanbieter weisen einen Standardtimeoutwert von 5 Minuten auf. Sie können einen anderen Timeoutwert konfigurieren.

So definieren Sie einen Timeoutwert für einen gehosteten Ereignisanbieter

ProviderTimeout Element (ADF) (ADF)

Timeout-Eigenschaft (NMO)

Argumente

Notification Services kann Argumente an Ereignisanbieter übergeben. Stellen Sie die Argumentnamen und -werte in der Ereignisanbieterdefinition bereit, falls der gehostete Ereignisanbieter Argumente verwendet.

Wenn Sie einen Ereignisanbieter von einem Drittanbieter verwenden, sollte der Ereignisanbieter mit Dokumentation für die erforderlichen und optionalen Argumente ausgeliefert werden. Informationen zu Argumenten von Standardereignisanbietern finden Sie unter Standardereignisanbieter.

So definieren Sie die Ereignisanbieterargumente

Siehe auch

Konzepte

Definieren von nicht gehosteten Ereignisanbietern

Andere Ressourcen

Definieren von Notification Services-Anwendungen
Entwickeln eines benutzerdefinierten Ereignisanbieters
Definieren von Ereignisanbietern
Definieren von Ereignisklassen
Standardereignisanbieter

Hilfe und Informationen

Informationsquellen für SQL Server 2005