Condividi tramite


Uso di eventi COM+ con componenti in coda COM+

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 usato per rendere indipendente il tempo di elaborazione del server di pubblicazione e del sottoscrittore accodando il messaggio dell'editore e successivamente riproducendolo 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 altre informazioni sull'uso del servizio componenti in coda COM+, vedere Componenti in coda COM+.

 

Il servizio componenti in coda gestisce la chiamata order-of-method 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'autore e l'oggetto evento
  • Tra l'oggetto evento e il sottoscrittore

Se si posiziona il registratore e il lettore tra il server di pubblicazione e l'oggetto evento, si sta rendendo accodabile il componente della classe di evento. Il componente della classe di evento deve essere contrassegnato per l'accodamento e deve essere attivato dal lettore in un processo separato dal server di pubblicazione.

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}".

È previsto un ordine di recapito da considerare quando si usano componenti in coda in una situazione di evento. Poiché i componenti in coda registrano 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 l'ordine è importante, assicurarsi che le chiamate che devono essere riprodotte in ordine risiedono nella stessa istanza dell'oggetto.

Filtro degli eventi in COM+

Pubblicazione e recapito di eventi in COM+

Sottoscrizioni

Oggetto classe di evento COM+