Notification Services—Creating an Event Provider
Microsoft .NET Framework, ASP.NET, Visual C# (CSharp, C Sharp, C-Sharp) Developer Training, Visual Studio
Creating an Event Provider
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.
The ClassName property of the HostedEventProvider class 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 a ClassName of FileSystemWatcherProvider), which gathers events of the
StockWatchEvents event class from a file in the C:\PSS2005NotificationServices\Events directory. The event file must conform to the schema defined in the C:\PSS2005NotificationServices\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
|
HostedEventProviderCollection
| Represents a collection of hosted event providers as
|
NonHostedEventProvider
| Represents a nonhosted event provider. |
NonHostedEventProviderCollection
| Represents a collection of nonhosted event providers as
|
|

