Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
I dati della sottoscrizione si trovano nel catalogo COM+ della sottoscrizione. È possibile creare una sottoscrizione usando lo strumento di amministrazione di Servizi componenti o a livello di codice usando l'interfaccia ICOMAdminCatalog::InstallComponent.
La raccoltaSubscriptionsForComponent viene usata per aggiungere, eliminare o modificare le informazioni relative alle sottoscrizioni. L'insieme SubscriptionsForComponent è una raccolta figlio di un componente. Per aggiungere una sottoscrizione, ottenere la raccolta di SubscriptionsForComponent del componente e usare il metodo addper aggiungere una voce alla raccolta. Per configurare le varie proprietà dell'oggetto sottoscrizione, utilizzare la proprietàValue. Per salvare le modifiche, utilizzare SaveChanges nell'insieme SubscriptionsForComponent.
È anche possibile usare lo strumento di amministrazione di Servizi componenti per modificare alcune proprietà della sottoscrizione, ma non tutte. Le sottoscrizioni specificano le informazioni seguenti:
- Identità e posizione del sottoscrittore
- Metodo di recapito
- Metodi di evento da recapitare
- Oggetto classe di evento e proprietà PublisherID di un componente della classe di evento da cui il sottoscrittore vuole ricevere eventi
Le sottoscrizioni esistono indipendentemente dagli oggetti della classe di evento. È possibile disabilitare una sottoscrizione impostando la proprietà Enabled su False. Una sottoscrizione disabilitata non viene chiamata dagli eventi COM+.
I tre tipi di sottoscrizioni sono i seguenti:
-
persistente
-
Le sottoscrizioni persistenti risiedono nel catalogo COM+ e sono indipendenti dalla durata del sottoscrittore. Le sottoscrizioni permanenti sopravvivono a un riavvio del sistema. In genere, una sottoscrizione persistente viene creata quando un'applicazione viene installata nel computer di un sottoscrittore e rimossa quando l'applicazione viene rimossa. Dopo aver creato una sottoscrizione persistente, gli eventi COM+ attivano il sottoscrittore ogni volta che un evento deve essere recapitato.
Quando un editore crea un'istanza e effettua una chiamata a una classe di evento oggetto, l'oggetto cerca tutte le sottoscrizioni persistenti nel catalogo COM+ e crea una nuova istanza di ogni oggetto. Il processo di creazione può essere diretto o tramite un moniker per i componenti in coda. Specificare l'oggetto sottoscrittore dalla proprietà SubscriberMoniker della sottoscrizione. Gli oggetti sottoscrittori creati da una sottoscrizione permanente vengono sempre rilasciati dopo ogni chiamata di evento.
-
temporanei
-
Per le sottoscrizioni temporanee, è possibile utilizzare l'insieme TransientSubscriptions, il cui oggetto padre è l'oggetto catalogo radice. Le sottoscrizioni temporanee richiedono un evento per un oggetto sottoscrittore specifico già esistente. Le sottoscrizioni temporanee vengono archiviate nel catalogo COM+, ma la sottoscrizione viene eliminata se il sistema eventi o il sistema operativo viene arrestato. A differenza delle sottoscrizioni permanenti, le sottoscrizioni temporanee sono associate a un particolare oggetto e vengono archiviate solo nel sistema eventi. Le sottoscrizioni temporanee possono essere più efficienti delle sottoscrizioni persistenti, ma è necessario gestire i cicli di vita degli oggetti. Per informazioni sulla registrazione di una sottoscrizione temporanea, vedere Registrazione di una sottoscrizione temporanea.
-
per utente
-
Le sottoscrizioni per utente possono recapitare eventi solo quando il sottoscrittore è connesso al computer del sistema eventi. Quando il sottoscrittore accede, il sistema eventi abilita tutte le sottoscrizioni in cui il flag PerUser è impostato su TRUE e UserName è impostato sul nome dell'utente che ha eseguito l'accesso. Quando il sottoscrittore si disconnette, le sottoscrizioni vengono disabilitate.
Le sottoscrizioni per utente sono valide solo quando il server di pubblicazione e il sottoscrittore si trovano nello stesso computer. L'accesso e la disconnessione vengono rilevati solo nel computer dell'editore, non nel computer in cui risiede l'oggetto sottoscrittore.
Il sistema eventi usa meta-eventi per notificare ai sottoscrittori interessati ogni volta che vengono creati, modificati o rimossi sottoscrizioni o oggetti classe di evento. Per ricevere meta-eventi dal sistema eventi, le applicazioni devono creare una sottoscrizione che risiede nel computer del sistema eventi e che specifica l'ID dell'interfaccia di generazione (IID_IEventObjectChange).
Argomenti correlati
-
eventi di filtro in COM+