Condividi tramite


Oggetto classe di evento COM+

Il servizio EVENTI COM+ usa un oggetto classe di evento per gestire la connessione tra server di pubblicazione e sottoscrittore. L'oggetto classe di evento è un componente COM+ gestito e archiviato dal sistema COM+ Events e contiene le interfacce e i metodi utilizzati da un editore per generare eventi. Si tratta di un oggetto permanente che indica gli eventi che possono verificarsi e, facoltativamente, identifica il server di pubblicazione. Specificare le interfacce e i metodi che si desidera che una classe di evento contenga fornendo una libreria dei tipi.

Per generare un evento, l'autore crea un'istanza dell'oggetto classe di evento chiamando CoCreateInstance o il metodo CreateObject di Microsoft Visual Basic e richiedendo la restituzione dell'interfaccia evento. L'oggetto classe di evento di cui è stata creata un'istanza contiene l'implementazione del sistema eventi dell'interfaccia richiesta. Un sottoscrittore interessato deve inoltre implementare l'interfaccia della classe di evento per ricevere eventi da un determinato server di pubblicazione. Quando viene creata un'istanza dell'oggetto classe di evento, il sistema eventi lo associa ai sottoscrittori appropriati. L'elenco dei sottoscrittori viene mantenuto per la durata dell'oggetto classe di evento. Un evento può essere recapitato a più sottoscrittori in modo seriale o in parallelo.

Quando si implementa un oggetto classe di evento, è necessario fornire una DLL che esporta le funzioni DllRegisterServer e DllUnregisterServer. La funzione DllRegisterServer registra una classe COM e la funzione DllUnregisterServer annulla la registrazione del componente. Gli oggetti classe di evento vengono archiviati nel catalogo COM+, usando lo strumento di amministrazione di Servizi componenti o a livello di codice usando i metodi delle interfacce ICOM Amministrazione Catalog::InstallEventClass o ICOM Amministrazione Catalog::InstallMultipleEventClasses. Per informazioni dettagliate sulla registrazione di oggetti classe di evento, vedere Registrazione di una classe di evento.

Poiché gli oggetti della classe di evento sono componenti configurati, altri attributi, ad esempio accodamento, transazioni, sicurezza e così via, possono essere configurati usando lo strumento di amministrazione di Servizi componenti o le funzioni DELL'SDK com+ Amministrazione istrative.

Nota

Il servizio Eventi COM+ usa il marshalling della libreria dei tipi. In questo modo vengono applicate alcune restrizioni alle interfacce della classe di evento. Ad esempio, il gestore di marshalling della libreria dei tipi non supporta gli attributi MIDL size_is e length_is.

 

Un oggetto classe di evento dispone di attributi di pubblicazione che determinano la modalità di pubblicazione degli eventi, nonché le proprietà seguenti:

  • EventCLSID. Identificatore univoco che specifica il CLSID del componente.
  • EventClassName. Identificatore univoco che specifica il PROGID del componente.
  • TypeLibrary. Fornisce un elenco di interfacce offerte dall'oggetto classe di evento. Non è necessario implementare le interfacce di generazione specificate nella libreria dei tipi.

Considerazioni sulla sicurezza degli eventi COM+

Filtro degli eventi in COM+

Pubblicazione e recapito di eventi in COM+

Sottoscrizioni

Uso di eventi COM+ con componenti in coda COM+