Filtro degli eventi in COM+
Gli eventi COM+ offrono due modi per controllare quali eventi raggiungono i sottoscrittori: filtro dell'editore e filtro dei parametri.
Filtro server di pubblicazione
Il filtro del server di pubblicazione controlla l'ordine e la generazione di un metodo evento da un oggetto classe di evento. Il filtro del server di pubblicazione consente al server di pubblicazione di determinare quali sottoscrittori ricevono un determinato evento.
Un esempio di utilizzo efficace del filtro dell'editore è quello di una borsa azionaria. La maggior parte degli abbonati vuole sapere quando viene aggiunto un nuovo titolo. Tuttavia, molti di questi stessi sottoscrittori potrebbero non voler sapere ogni volta che ogni prezzo azionario cambia. Il filtro del server di pubblicazione fornisce la granularità necessaria per recapitare in modo efficace gli eventi solo ai sottoscrittori che desiderano queste informazioni.
Quando un metodo viene richiamato sull'oggetto classe di evento di cui è stata creata un'istanza, raccoglie tutti i filtri dell'editore su tale metodo. Il filtro forza l'oggetto evento a generare il metodo dell'evento in un sottoscrittore specifico. Il filtro determina le sottoscrizioni da attivare e in cui attivarle. Ad esempio, il filtro potrebbe leggere l'elenco di sottoscrizioni e creare l'ordine in base ad alcuni criteri dell'applicazione e quindi chiamare i sottoscrittori in tale ordine.
Per istruzioni dettagliate sulla creazione di un filtro di pubblicazione, vedere Creazione di un filtro del server di pubblicazione.
Filtro dei parametri
A differenza del filtro dell'editore, il servizio eventi COM+ fornisce un filtro dei parametri del sottoscrittore facoltativo per ogni sottoscrizione e ogni chiamata al metodo di evento. Il filtro dei parametri valuta la proprietà FilterCriteria della sottoscrizione rispetto ai parametri del metodo di evento. Questo tipo di filtro viene usato in base al metodo, per sottoscrizione e fornisce un livello di filtro sottoscrittore nell'origine evento. La stringa dei criteri di filtro riconosce gli operatori relazionali per verificare l'uguaglianza (=, ==, , !=, ~, ~=, <>), parentesi annidate e parole chiave logiche AND, OR o NOT.
Il filtro dei parametri si verifica dopo qualsiasi filtro dell'editore e quando viene generato l'oggetto evento standard per una determinata sottoscrizione. Se si usa il filtro dell'autore, il filtro dei parametri viene eseguito solo quando il filtro dell'editore richiama IFiringControl::FireSubscription. Per questo motivo, il filtro dell'editore e il filtro dei parametri possono comporre insieme, ma il filtro dell'autore ha la precedenza.
Argomenti correlati