Criando componentes enfileiráveis
Um componente com pelo menos uma interface enfileirável é um componente enfileirável. Para que um componente seja chamado por uma fila, as interfaces devem ser marcadas como enfileiráveis e o componente deve ser instalado em um aplicativo em fila. No entanto, um componente enfileirável pode ser um componente de um aplicativo não enfileirado.
Uma interface enfileirável deve conter apenas parâmetros — sem parâmetros de saída e sem valores de retorno. Essas características são verificadas analisando as informações de tipo durante a instalação do componente. Se a interface não for enfileirável, a fila do aplicativo que contém o componente não poderá ser ativada.
Para especificar uma interface COM+ como enfileirável, use as seguintes etapas:
Na árvore de console da ferramenta administrativa Serviços de Componentes, em Serviços de Componentes, abra a pasta Aplicativos COM+ associada ao computador que você deseja gerenciar.
Abra a pasta Interfaces do componente do aplicativo COM+ que você deseja tornar enfileirável.
Clique com o botão direito do mouse na interface que você deseja marcar como enfileirável e clique em Propriedades.
Selecione a guia Enfileiramento na caixa de diálogo de propriedades.
Ative a caixa de seleção rotulada como Enfileirado.
Observação
Se a caixa de seleção Enfileirado estiver esmaecida, a interface não satisfará as restrições enfileiráveis descritas acima.
Clique em OK.
Um componente enfileirável pode ser identificado como tal adicionando a macro de atributo QUEUEABLE à seção Interface do arquivo de origem IDL (Interface Definition Language) para todas as interfaces que são enfileiráveis.
#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 (); }
Tópicos relacionados