Condividi tramite


Uso di eventi COM+ con componenti COM+ in coda

Il servizio eventi COM+ viene usato per gestire il recapito di eventi dai server di pubblicazione ai sottoscrittori. Il servizio componenti in coda COM+ può essere utilizzato per rendere indipendente il tempo di elaborazione del pubblicatore e del sottoscrittore, accodando il messaggio del pubblicatore e inviandolo successivamente al sottoscrittore. Il fatto che sia necessario usare o meno il servizio componenti in coda dipende dalla logica di business sottostante dell'applicazione. Se è necessario disporre di eventi indipendenti dal tempo, è possibile crearli usando il servizio eventi COM+ con il servizio componenti in coda COM+.

Nota

Per ulteriori informazioni sull'utilizzo del servizio COM+ Queued Components, vedere COM+ Queued Components.

 

Il servizio componenti in coda mantiene l'ordine di invocazione dei metodi all'interno di un singolo messaggio. Il registratore esegue il batch di tutte le chiamate al metodo in un messaggio e quindi il lettore richiama tali metodi in ordine quando il messaggio viene elaborato.

Un registratore e un lettore di componenti in coda possono essere posizionati in una delle due posizioni seguenti:

  • Tra l'editore e l'oggetto di evento
  • Tra l'oggetto evento e il sottoscrittore

Se si posizionano il registratore e il riproduttore tra l'editore e l'oggetto evento, si rende accodabile il componente della classe di evento . Il componente della classe di evento deve essere contrassegnato per l'accodamento e deve essere attivato dal destinatario in un processo separato dall'editore.

Per recapitare gli eventi in modo asincrono, comporre il registratore e il lettore tra l'oggetto evento e il sottoscrittore e impostare l'attributo Queued dell'oggetto sottoscrizione. In questo modo SubscriberMoniker viene impostato come segue: "queue:/new:/{12345678-1234-1234-1234-123456789012}".

C'è un'implicazione dell'ordine di consegna da considerare quando si utilizzano componenti in coda in una situazione di eventi. Poiché il servizio dei componenti in coda registra e riproduce tutte le chiamate all'interno della durata di un singolo oggetto in un unico messaggio, tutte le chiamate vengono riprodotte nell'ordine in cui sono state effettuate. Tuttavia, se sono presenti più sessioni con più oggetti, l'ordine non può essere garantito. Se è importante mantenere l'ordine, è importante assicurarsi che le chiamate che vanno riprodotte in ordine risiedano nella stessa istanza dell'oggetto.

Filtraggio degli eventi in COM+

Pubblicazione e Distribuzione di Eventi in COM+

abbonamenti

l'oggetto della classe di evento COM+