Creating Important Aspects of Notification Services - Creating a Vacuum Schedule
(Page 4 of 7 )
A vacuum schedule named StockWatchVacuumSchedule is created in the CreateVacuumSchedule() method of Example 18-1. The code follows:
private static void CreateVacuumSchedule()
{
VacuumSchedule vs = new VacuumSchedule(a, "StockWatchVacuumSchedule");
vs.StartTime = new TimeSpan(0, 0, 0);
a.VacuumSchedules.Add(vs);
Console.WriteLine("Added vacuum schedule: " + vs.Name);
}
Vacuuming removes old event and notification data from the application database on a daily schedule. TheStartTimeproperty specifies the daily time in Universal Coordinated Time (UTC) for the data removal process to start. Although specifying a vacuum schedule is optional, old data is not removed from the database if a vacuum schedule is not specified.
The NMO classes for managing vacuum schedules are described in Table 18-12.
Table 18-12. NMO classes for managing vacuum schedules
| Class | Description |
| VacuumSchedule | Represents a data removal schedule. |
| VacuumScheduleCollection | Represents a collection of data removal schedules asVacuumScheduleobjects. The VacuumSchedulesproperty of theApplicationclass returns the data removal schedules for the application. |
Creating a Subscriber and Subscriber Device
Two subscribers, each with a single subscriber device, are created in the CreateSubscriber() method of Example 18-1. The code follows:
private static void CreateSubscriber()
{
ns.NSInstance swnsi = new ns.NSInstance("StockWatch");
ns.Subscriber s;
ns.SubscriberDevice sd;
// create a subscriber
s = new ns.Subscriber(swnsi);
s.SubscriberId = @"KristinHamilton";
s.Add();
Console.WriteLine("Added subscriber: " + s.SubscriberId);
// create a file subscriber device
sd = new ns.SubscriberDevice();
sd.Initialize(swnsi);
sd.DeviceName = "StockWatchSubscriberDevice";
sd.SubscriberId = "KristinHamilton";
sd.DeviceTypeName = "File";
sd.DeviceAddress = KristinH@StockWatch.ns;
sd.DeliveryChannelName = "StockWatchFileDeliveryChannel";
sd.Add();
Console.WriteLine("Added subscriber file device.");
// create a subscriber
s = new ns.Subscriber(swnsi);
s.SubscriberId = @"TonyHamilton";
s.Add();
Console.WriteLine("Added subscriber: " + s.SubscriberId);
// create an email subscriber device
sd = new ns.SubscriberDevice();
sd.Initialize(swnsi);
sd.DeviceName = "StockWatchSubscriberDevice";
sd.SubscriberId = "TonyHamilton";
sd.DeviceTypeName = "Email";
sd.DeviceAddress = TonyH@StockWatchNS.ns;
sd.DeliveryChannelName = "StockWatchEmailDeliveryChannel";
sd.Add();
Console.WriteLine("Added subscriber
email device.");
}
TheNSInstanceclass represents a Notification Services instance that is registered in the Windows registry.
TheSubscriberclass represents a subscriber in a Notification Services instance. TheSubscriberEnumerationclass represents a collection of subscribers asSubscriberobjects in a Notification Services instance.
TheSubscriberEnumerationclass is used to retrieve aSubscriber object from the collection of subscribers to the Notification Services instance. TheDelete()method removes a subscriber, theAdd()method adds a subscriber, and theUpdate()method updates the information for an existing subscriber. The following code deletes the subscriberAnySubscriberfrom a Notification Service instance namedHelloWorld:
NSInstance nins = new NSInstance("HelloWorld");
SubscriberEnumeration se = new SubscriberEnumeration(nins);
se["AnySubscriber"].Delete();
TheSubscriberDeviceclass represents a device that can receive notifications. A single subscriber device is added to each subscriber. Each subscriber device specifies the following properties:
DeviceName
The name of the subscriber device.
SubscriberId
The ID of the subscriber with which the subscriber
device is associated.
DeviceTypeName
The name of the device type for the subscriber
device.
DeviceAddress
The address used to contact the device.
DeliveryChannelName
The name of the delivery channel that the device
uses. This example assigns the
StockWatchFileDeliveryChanneldelivery
channel to one subscriber and the
StockWatchEmailDeliveryChanneldelivery
channel to the other—these delivery channels are
created in the code described in the “Creating a
Delivery Channel” section earlier in this chapter.
TheSubscriberDeviceEnumerationclass is used to retrieve aSubscriberDevice object from the collection of devices for a subscriber. TheDelete()method removes a device, theAdd()method adds a device, and theUpdate()method updates the information for an existing device.
Next: Creating a Subscription >>
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.
|
|