Creating Important Aspects of Notification Services - Creating an Event Provider
(Page 2 of 7 )
A hosted event provider is created in the CreateHostedEventProvider() method of Example 18-1. The code follows:
private static void CreateHostedEventProvider()
{
HostedEventProvider hep =
new HostedEventProvider(a, "StockWatchHEP");
hep.ClassName = "FileSystemWatcherProvider";
hep.SystemName = nsServer;
HostedEventProviderArgument hepa;
hepa =
new HostedEventProviderArgument(hep, "WatchDirectory");
hepa.Value = baseDirectoryPath + @"\Events";
hep.HostedEventProviderArguments.Add(hepa);
hepa =
new HostedEventProviderArgument(hep, "SchemaFile");
hepa.Value = baseDirectoryPath + @"\AppDefinition\EventsSchema.xsd";
hep.HostedEventProviderArguments.Add(hepa);
hepa =
new HostedEventProviderArgument(hep, "EventClassName");
hepa.Value = "StockWatchEvents";
hep.HostedEventProviderArguments.Add(hepa);
a.HostedEventProviders.Add(hep);
}
Event providers collect event data and submit it to an event class. Hosted event providers are run by the Notification Services engine. Nonhosted event providers, on the other hand, run outside of the engine, and have no interaction with Notification Services.
TheClassNameproperty of theHostedEventProviderclass specifies the class that implements the event provider. Notification Services has three built-in event providers, described in the “Architecture” section earlier in this chapter. You can also use a custom event provider. This example uses the File System Watcher event provider (with aClassNameofFileSystemWatcherProvider), which gathers events of the StockWatchEvents event class from a file in the C:\PSS2005\NotificationServices\
Events directory. The event file must conform to the schema defined in the C:\PSS2005\NotificationServices\AppDefinition\EventsSchema.xsd file.
The NMO classes for managing hosted and nonhosted event providers are described in Table 18-10.
Table 18-10. NMO classes for managing hosted and nonhosted event providers
| Class | Description |
| HostedEventProvider | Represents a hosted event provider for a Notification Services application. |
| HostedEventProviderArgument | Represents a name-value pair specifying hosted event provider configuration. |
| HostedEventProviderArgumentCollection | Represents a collection of hosted event provider arguments as HostedEventProviderArgumentobjects. The HostedEventProviderArgumentsproperty of the HostedEventProviderclass returns the hosted event provider arguments for the hosted event provider. |
| HostedEventProviderCollection | Represents a collection of hosted event providers as HostedEventProviderobjects. The HostedEventProvidersproperty of theApplication class returns the hosted event providers for the Notification Services application. |
| NonHostedEventProvider | Represents a nonhosted event provider. |
| NonHostedEventProviderCollection | Represents a collection of nonhosted event providers as NonHostedEventProviderobjects. The NonHostedEventProvidersproperty of theApplication class returns the nonhosted event providers for the Notification Services application. |
Next: Creating a Generator >>
More MS SQL Server Articles
More By O'Reilly Media
|
This article is excerpted from chapter 18 of Programming SQL Server 2005, written by Bill Hamilton (O'Reilly, 2006; ISBN: 0596004796). Check it out today at your favorite bookstore. Buy this book now.
|
|