Использование API-функции загрузчика XML-событий
При необходимости пересылки XML-данных приложению служб Notification Services используйте API-функцию загрузчика XML-событий. При помощи API-функции из одиночного XML-документа создается пакет уведомлений.
API-функция загрузчика XML-событий имеет один класс: EventLoader.
Создание и инициализация класса EventLoader
Можно создать и инициализировать объект EventLoader, используя параметризованный конструктор для передачи объекта NSApplication, представляющего желаемое приложение служб Notification Services, имени поставщика событий, имени класса событий и имени файла схемы XML с аннотациями SQL, обеспечивающего соответствие данных из структуры XML-документа структуре класса событий.
Дополнительные сведения о создании файла XML-схем с аннотациями SQL см. в разделе «Authoring and Using Custom Schemas Backgrounder в библиотеке Microsoft MSDN».
Отправка данных событий
После создания и инициализации объекта EventLoader используйте метод LoadXml для создания пакета событий, содержащего одно или несколько событий из источника XML-данных в базе данных приложения служб Notification Services.
Пример
В этом примере используются следующие пространства имен:
public bool Run()
{
// These variables would normally be defined for
// the class. They would be set based on the values
// provided by the args argument of the Initialize method.
string instanceName = "MyInstanceName";
string applicationName = "MyApplicationName";
string eventClassName = "MyEventClassName";
string eventProviderName = "MyEventProviderName";
string eventSchema = "MyEventSchemaPathAndName";
string xmlDoc = "MyXMLDocPathAndName";
bool returnValue = true;
DateTime currentTime = DateTime.Now;
try
{
// Get the Notification Services instance.
NSInstance testInstance = new NSInstance(instanceName);
// Get the Notification Services application.
NSApplication testApplication =
new NSApplication(testInstance, applicationName);
// Create the EventLoader object.
EventLoader testEventLoader =
new EventLoader(testApplication, eventProviderName,
eventClassName, eventSchema);
// Write the event records from the XML data
// source to the application database.
int eventsSubmitted = testEventLoader.LoadXml(xmlDoc);
}
catch(Exception e)
{
//Add code to handle errors here.
}
return returnValue;
}
См. также
Другие ресурсы
Разработка пользовательского поставщика событий
Определение поставщиков событий