Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Sie können die Klassen EventCollector und Event in einem benutzerdefinierten Ereignisanbieter verwenden, wenn die verwendete Ereignisquelle Ereignisse als einzelne Elemente bereitstellen kann. Diese Klassen sind im Microsoft.SqlServer.NotificationServices-Namespace enthalten.
EventCollector-Objekt
Ein EventCollector-Objekt sammelt Ereignisse und übermittelt dann den Ereignisbatch an eine Notification Services-Anwendung. Beim Erstellen eines EventCollector-Objekts initialisieren Sie es mit einer Anwendung und einem Ereignisanbieternamen.
Event-Objekt
Ein Event-Objekt kapselt die Daten für ein einzelnes Ereignis. Beim Erstellen eines Event-Objekts initialisieren Sie das Ereignis mit einer Anwendung und einem Ereignisklassennamen und stellen dann Werte für die Ereignisfelder bereit. Die Felder des Event-Objekts werden durch das Ereignisklassenschema definiert.
Hinweis: |
|---|
| Sie können ein Event-Objekt erstellen, ohne es zu initialisieren. So können Sie ein "getrenntes" Event-Objekt erstellen, das nicht über einen Verweis auf eine Notification Services-Anwendung verfügt. Zum Verwenden dieser Technik müssen Sie den Ereignisklassennamen und die Ereignisfeldnamen zur Entwicklungszeit kennen. |
Für jeden Ereignisdatensatz, den Sie erstellen möchten, erstellen Sie ein Event-Objekt, füllen es auf und übermitteln es. Sie können ein Event-Objekt wieder verwenden, nachdem Sie das Ereignis in das EventCollector-Objekt geschrieben haben.
Schreiben von Ereignissen und Ausführen eines Commits für Ereignisse
Nachdem Sie ein Event-Objekt erstellt und mit Ereignisdaten aufgefüllt haben, fügen Sie es einem EventCollector-Objekt hinzu. Dazu verwenden Sie die Write-Methode.
Das EventCollector-Objekt stellt außerdem eine Abort-Methode bereit. Rufen Sie diese Methode auf, um den aktuellen Ereignisbatch zu verwerfen.
EventCollector- und Event-Objekt (Beispiel)
In diesem Beispiel wird der folgende Namespace verwendet:
- System
- Microsoft.SqlServer.NotificationServices
string instanceName = "Tutorial";
string applicationName = "Weather";
string eventClassName = "WeatherEvents";
string eventProviderName = "WeatherSPs";
// Create an NSInstance object.
NSInstance testInstance = new NSInstance(instanceName);
// Create an NSApplication object.
NSApplication testApplication =
new NSApplication(testInstance, applicationName);
// Create an EventCollector object.
EventCollector testEventCollector =
new EventCollector(testApplication, eventProviderName);
// Create and define an Event object.
Event evt = new Event(testApplication, eventClassName);
evt["City"] = "Seattle";
evt["Date"] = DateTime.Now;
evt["Low"] = 40;
evt["High"] = 50;
evt["Forecast"] = "Cloudy";
// Write the event to the event collector's batch
testEventCollector.Write(evt);
// Commit the event batch to the application database.
testEventCollector.Commit();
Getrenntes Event-Objekt (Beispiel)
Dieses Beispiel veranschaulicht, wie Sie ein Ereignis ohne Initialisieren des Event-Objekts mit einem NSApplication-Objekt und einem EventClass-Objekt definieren.
// Initialize the Event object.
Event testEvent = new Event();
testEvent.EventClassName = "StockEvents";
// Use the Event object.
testEvent["StockSymbol"] = "AWKS";
testEvent["StockPrice"] = "58.35";
Siehe auch
Konzepte
Entwickeln von gehosteten Ereignisanbietern
Entwickeln von nicht gehosteten Ereignisanbietern
Andere Ressourcen
Entwickeln eines benutzerdefinierten Ereignisanbieters
Hinweis: