Partager via


Utilisation de l'API d'envoi d'événement managé

Vous pouvez utiliser les classes EventCollector et Event dans un fournisseur d'événements personnalisé lorsque vous travaillez avec n'importe quelle source d'événements capable de fournir des événements sous forme d'éléments individuels. Ces classes se trouvent dans l'espace de noms Microsoft.SqlServer.NotificationServices.

Objet EventCollector

Un objet EventCollector rassemble des événements et envoie ensuite le lot d'événements à une application Notification Services. Lorsque vous créez un objet EventCollector, vous l'initialisez avec une application et un nom de fournisseur d'événement.

Objet Event

Un objet Event encapsule les données d'un seul événement. Lors de la création d'un objet Event, vous initialisez l'événement avec une application et un nom de classe d'événements, puis fournissez les valeurs des champs d'événement. Les champs de l'objet Event sont définis par le schéma de classe d'événements.

ms171243.note(fr-fr,SQL.90).gifRemarque :
Vous pouvez créer un objet Event sans l'initialiser. Vous pouvez créer un objet Event « déconnecté » qui ne contient pas de référence à une application Notification Services. Pour utiliser cette technique, vous devez connaître le nom de la classe d'événements et le nom des champs d'événement dès la phase de développement.

Vous créez, remplissez et envoyez un objet Event pour chaque enregistrement d'événement que vous voulez créer. Vous pouvez réutiliser un objet Event après avoir écrit l'événement dans l'objet EventCollector.

Écriture et validation des événements

Après avoir créé un objet Event et après l'avoir rempli avec les données d'événements, vous l'ajoutez à un objet EventCollector à l'aide de la méthode Write.

L'objet EventCollector fournit également une méthode Abort. Appelez cette méthode pour ignorer le lot d'événements actuel.

Exemple d'objets EventCollector et Event

Cet exemple utilise l'espace de noms suivant :

  • 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();

Exemple d'objet Event déconnecté

Cet exemple montre comment définir un événement sans initialiser l'objet Event avec NSApplication et EventClass.

// Initialize the Event object.
Event testEvent = new Event();
testEvent.EventClassName = "StockEvents";

// Use the Event object.
testEvent["StockSymbol"] = "AWKS";
testEvent["StockPrice"] = "58.35";

Voir aussi

Concepts

Développement de fournisseurs d'événements hébergés
Développement de fournisseurs d'événements non hébergés

Autres ressources

Développement d'un fournisseur d'événements personnalisé

Aide et Informations

Assistance sur SQL Server 2005