Notification Services—Creating an Event Provider

Microsoft .NET Framework, ASP.NET, Visual C# (CSharp, C Sharp, C-Sharp) Developer Training, Visual Studio


Jump to: navigation, search
CSharp-Online.NET:Articles
Database Articles

Notification Services

© 2006 O'Reilly Media, Inc.

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

HostedEventProviderArgument objects. The HostedEventProviderArguments property of the HostedEventProvider class returns the hosted event provider arguments for the hosted event provider.

HostedEventProviderCollection Represents a collection of hosted event providers as

HostedEventProvider objects. The HostedEventProviders property of the Application 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

NonHostedEventProvider objects. The NonHostedEventProviders property of the Application class returns the nonhosted event providers for the Notification Services application.


Previous_Page_.gif Next_Page_.gif


Personal tools