Definizione di provider di eventi hosted

I provider di eventi hosted sono ospitati dal motore di Notification Services. Quando il motore si avvia, inizializza ed esegue tutti i provider di eventi hosted attivati.

Le informazioni specificate nella definizione dell'applicazione sono necessarie al motore per individuare, inizializzare ed eseguire i provider di eventi hosted.

Tipi di provider di eventi hosted

Un provider di eventi hosted può essere continuo o pianificato:

  • Un provider di eventi continuo viene avviato all'avvio del motore e si interrompe all'arresto del motore. Gestisce modalità e tempi dell'inoltro di eventi.
    Se si sviluppa un provider di eventi continuo personalizzato, è necessario implementare l'interfaccia IEventProvider.
  • Un provider di eventi pianificato viene avviato all'avvio del motore ed è attivato per controllare la presenza di nuovi eventi a intervalli predefiniti.
    La pianificazione relativa viene specificata nella definizione dell'applicazione.
    Se si sviluppa un provider di eventi pianificato personalizzato, è necessario implementare l'interfaccia IScheduledEventProvider.

Definizione di un provider di eventi hosted

Ogni applicazione può includere provider di eventi hosted. Quando si definisce un'applicazione, si definisce ogni provider di eventi utilizzato dall'applicazione, inclusi le proprietà, come il nome del provider di eventi, la classe che implementa il provider di eventi, l'assembly che include la classe e qualsiasi argomento necessario per inizializzare il provider di eventi.

Per definire un provider di eventi hosted

Se si definisce un'applicazione tramite XML, i provider di eventi vengono definiti nell'elemento Providers del file di definizione dell'applicazione (ADF). Se si definisce un'applicazione utilizzando Notification Services Management Objects (NMO), gli oggetti HostedEventProvider vengono definiti singolarmente e aggiunti a un HostedEventProviderCollection utilizzando la proprietà HostedEventProviders dell'applicazione.

Nome del provider di eventi

Il nome del provider di eventi identifica il provider di eventi che ha inoltrato ogni batch di eventi. Quando si esegue il debug, la risoluzione dei problemi e il monitoraggio delle applicazioni, spesso viene specificato il nome del provider di eventi come parametro.

Per definire il nome del provider di eventi

Nome classe

Per ogni provider di eventi hosted, è necessario specificare il nome della classe che implementa il provider di eventi.

  • Per i provider di eventi hosted personalizzati, è necessario che il nome della classe sia conforme alla convenzione di denominazione di Microsoft .NET Framework Namespace.ClassName. Per ulteriori informazioni sulle convenzioni di denominazione dello spazio dei nomi, vedere Linee guida per la denominazione degli spazi dei nomi in Microsoft MSDN Library.
  • Per i provider di eventi Notification Services standard, il nome della classe non include lo spazio dei nomi. Utilizzare il nome della classe specificato nella documentazione del provider di eventi. Per ulteriori informazioni, vedere Provider di eventi standard.

Per definire il nome della classe

Nome assembly

Se si definisce un provider di eventi personalizzato, specificare il nome dell'assembly che include la classe del provider di eventi hosted. Il nome deve includere il percorso completo o il nome completo dell'assembly.

Se si definisce un provider di eventi standard, non definire il nome dell'assembly. Le classi che definiscono i provider di eventi standard sono inclusi nell'assembly Notification Services di base.

Per definire il nome dell'assembly

System Name

La proprietà System Name specifica il nome del sistema che esegue il provider di eventi hosted. Questo valore generalmente è il nome del computer. Tuttavia, se il provider di eventi è in esecuzione su un cluster di failover, il valore è il nome del server virtuale.

I componenti client di Notification Services devono essere installati nel computer e l'istanza deve essere registrata nel computer.

Per ulteriori informazioni sulla scalabilità orizzontale di un'applicazione, vedere Configurazioni di scalabilità orizzontale.

Per definire il nome del sistema

Pianificazione

Se si definisce un provider di eventi continuo che include tutti i provider di eventi standard ed eventuali provider di eventi personalizzati che implementano l'interfaccia IEventProvider, non definire una pianificazione.

Se si definisce un provider di eventi pianificato che implementa l'interfaccia IScheduledEventProvider, è necessario definire una pianificazione per il provider di eventi.

Una pianificazione include le proprietà seguenti:

  • La proprietà start time specifica un'ora del giorno (formato a 24 ore, ora UTC) che Notification Services utilizza per calcolare le ore di chiamata per il provider di eventi pianificato. Ad esempio, se l'ora iniziale corrisponde alle 10:00 e l'intervallo è di tre ore, gli orari di chiamata al provider di eventi pianificato saranno le 10:00, le 13:00, le 16:00 e così via. Se l'applicazione si avvia alle 12:32, il provider di eventi verrà eseguito per la prima volta alle 13:00. Per ulteriori esempi, vedere StartTime Element for HostedProvider/Schedule (ADF).
  • La proprietà interval specifica con quale frequenza viene eseguito il provider di eventi pianificato.

Per definire una pianificazione per un provider di eventi pianificato

Timeout

Ogni provider di eventi hosted deve completare l'elaborazione entro un periodo di tempo predeterminato. Se il provider di eventi hosted non completa l'elaborazione entro tale intervallo, l'intervallo di elaborazione corrente viene annullato.

I provider di eventi hosted hanno un valore di timeout predefinito pari a cinque minuti. È possibile configurare un diverso valore di timeout.

Per definire un valore di timeout per un provider di eventi hosted

ProviderTimeout Element (ADF) (ADF)

Proprietà Timeout (NMO)

Argomenti

Notification Services può passare argomenti ai provider di eventi. Se il provider di eventi utilizza argomenti, specificare i nomi e i valori degli argomenti nella definizione del provider di eventi.

Se si sta utilizzando un provider di eventi sviluppato da un terzo, insieme al provider di eventi dovrebbe essere fornita la documentazione relativa agli argomenti necessari e facoltativi. Per gli argomenti dei provider di eventi standard, vedere Provider di eventi standard.

Per definire gli argomenti del provider di eventi

Vedere anche

Concetti

Definizione di provider di eventi non hosted

Altre risorse

Definizione di applicazioni di Notification Services
Sviluppo di un provider di eventi personalizzato
Definizione di provider di eventi
Definizione delle classi di evento
Provider di eventi standard

Guida in linea e informazioni

Assistenza su SQL Server 2005