Condividi tramite


Creazione di componenti accodabili

Un componente con almeno un'interfaccia accodabile è un componente accodabile. Affinché un componente venga richiamato da una coda, le interfacce devono essere contrassegnate come accodabili e il componente deve essere installato in un'applicazione in coda. Tuttavia, un componente accodabile può essere un componente di un'applicazione non in coda.

Un'interfaccia accodabile deve contenere solo nei parametri, senza parametri out e senza valori restituiti. Queste caratteristiche vengono verificate analizzando le informazioni sul tipo durante l'installazione del componente. Se l'interfaccia non è accodabile, non è possibile attivare la coda dell'applicazione contenente il componente.

Per specificare un'interfaccia COM+ come accodabile, seguire questa procedura:

  1. Nell'albero della console dello strumento di amministrazione servizi componenti aprire la cartella COM+ Applications associata al computer da gestire in Servizi componenti.

  2. Aprire la cartella Interfaces del componente dell'applicazione COM+ che si desidera rendere accodabile.

  3. Fare clic con il pulsante destro del mouse sull'interfaccia da contrassegnare come accodabile e quindi scegliere Proprietà.

  4. Selezionare la scheda Accodamento nella finestra di dialogo delle proprietà.

  5. Attivare la casella di controllo con etichetta Accodato.

    Nota

    Se la casella di controllo Accodamento è disattivata, l'interfaccia non soddisfa i vincoli di accodamento descritti in precedenza.

     

  6. Fare clic su OK.

    Un componente accodabile può essere identificato come tale aggiungendo la macro dell'attributo QUEUEABLE alla sezione Interface del file di origine IDL (Interface Definition Language) per tutte le interfacce che sono accodabili.

    #include "mtxattr.h"
    [ object, dual, uuid(), helpstring(IShiphip"), QUEUEABLE ]
    interface IShip:IDispatch{
       [propput, id(1)] HRESULT CustomerId ([in] long CustId);
       [propput, id(2)] HRESULT OrderId ([in] long OrderID);
       [id(3)] HRESULT LineItem ([in] long Qty);
       [id(4)] HRESULT Process ();
    }
    

Creazione di code di componenti

Sviluppo di componenti in coda