Condividi tramite


Provider di eventi personalizzati

I provider di eventi personalizzati sono componenti personalizzati che inviano dati relativi agli eventi alle applicazioni di Notification Services. Quando si sviluppa un provider di eventi personalizzato, è necessario determinare il tipo di provider di eventi desiderato, l'origine dei dati degli eventi e l'API utilizzata per inviare i dati.

Tipi di provider di eventi personalizzati

I provider di eventi personalizzati possono essere hosted o non hosted (indipendenti). I provider di eventi hosted vengono eseguiti dall'host dei provider del motore di Notification Services.

Questo tipo di provider può essere più semplice da sviluppare perché può basarsi sull'host dei provider di Notification Services. Inoltre, i provider di eventi hosted possono essere attivati e disattivati come altri componenti di Notification Services. Per ulteriori informazioni sullo sviluppo di provider di eventi hosted, vedere Sviluppo di provider di eventi hosted.

I provider di eventi non hosted funzionano al di fuori del sistema di Notification Services. Risultano utili se si dispone di un'infrastruttura esistente che si desidera utilizzare per inviare gli eventi o per inviare gli eventi su richiesta. Per ulteriori informazioni sullo sviluppo di provider di eventi non hosted, vedere Sviluppo di provider di eventi non hosted.

Raccolta dei dati degli eventi

Esistono diversi modi per raccogliere i dati. È possibile ad esempio eseguire una query in un database, analizzare un file XML o inviare dati tramite un form Microsoft Windows o un Web Form. Il trigger per la raccolta dei dati può essere un'azione dell'applicazione che invia dati al provider di eventi o il polling pianificato di un'origine dei dati.

La conoscenza dell'origine dei dati, del formato e del modello di raccolta aiuta a scegliere un'API di invio degli eventi.

API di invio degli eventi

Dopo avere determinato l'origine dei dati, è possibile scegliere un'API per l'invio degli eventi. In Notification Services sono disponibili tre API per l'invio degli eventi:

  • Se i dati sono disponibili in formato XML, è possibile utilizzare la classe EventLoader per scrivere uno o più eventi dall'origine dei dati XML nel database dell'applicazione. Il provider di eventi predefinito di monitoraggio del file system utilizza la classe EventLoader.
  • Se i dati si trovano in un database di SQL Server, è possibile utilizzare le stored procedure di invio degli eventi per scrivere singoli eventi o raccogliere e inviare dati tramite una query Transact-SQL. Il provider di eventi predefinito di SQL Server utilizza tali stored procedure.
  • Se si dispone di altre origini di eventi, è possibile utilizzare l'API di invio degli eventi gestita. Con quest'API, è possibile creare un oggetto Event per ogni evento e quindi utilizzare un oggetto EventCollector per raccogliere gli eventi in un batch e inviarli al database dell'applicazione.

In ognuna di queste API, gli eventi vengono inviati al database in batch e diventano visibili all'applicazione solo dopo il commit del batch di eventi.

Nella figura riportata di seguito sono illustrate queste API per l'invio degli eventi:

Architettura dell'elaborazione degli eventi

Utilizzo di provider di eventi personalizzati

Per utilizzare un provider di eventi personalizzato, è necessario dichiararlo nella definizione dell'applicazione. Per ulteriori informazioni, vedere Definizione di provider di eventi.

Vedere anche

Concetti

Utilizzo dell'API di inoltro di eventi gestiti
Utilizzo dell'API del caricatore degli eventi XML
Utilizzo delle stored procedure di inoltro di eventi

Altre risorse

Sviluppo di un provider di eventi personalizzato

Guida in linea e informazioni

Assistenza su SQL Server 2005