Compartilhar via


Impondo a ativação no contexto padrão

Um componente COM configurado é geralmente ativado em seu próprio contexto; ou seja, COM+ faz referência às informações de catálogo do componente para fornecer quaisquer serviços configurados. No entanto, você pode optar por ativar um componente configurado no contexto padrão. Um componente COM base — um componente registrado que não tem informações de catálogo COM+ — geralmente é ativado no contexto padrão.

A ativação de um componente COM no contexto padrão fornece três benefícios principais de desempenho, da seguinte maneira:

  • Você economiza recursos do sistema limitando o número de contextos criados.
  • Você aumenta o desempenho limitando o número de chamadas entre contextos. Como as chamadas entre contextos exigem empacotamento, é muito mais rápido para um objeto COM ativado no contexto padrão fazer chamadas para outros objetos no contexto padrão. O desempenho nesse caso (de chamadas dentro do mesmo contexto) é semelhante ao de chamar uma sub-rotina.
  • Você pode importar aplicativos COM mais antigos para COM+ e executá-los sem problemas. Por exemplo, você pode ter vários aplicativos COM mais antigos implementados sob a suposição de que era permitido passar referências de objeto dentro de um apartamento sem empacotar as referências. Esses aplicativos COM não funcionam quando importados para COM+ porque as referências de objeto são passadas através de limites de contexto. No entanto, você pode fazer esse tipo de aplicativo COM ser executado quando importado se você usar a ferramenta administrativa Serviços de componentes para marcar todas as classes no aplicativo como Deve ser ativado no contexto padrão.

A principal desvantagem de ativar um componente configurado no contexto padrão é que o COM+ não fornece nenhum dos serviços configurados do componente. Há uma compensação entre o desempenho aprimorado e a capacidade de usar serviços COM+.

Por exemplo, suponha que um componente COM não requer nenhum serviço COM+ (como Transações, Ativação Just-in-Time, Eventos, Componentes em Fila, Sincronização ou Pool de Objetos) e que o componente faz várias chamadas para outros componentes COM que podem ser ativados no contexto padrão. Nesse caso, seria uma boa ideia ativar o componente de chamada no contexto padrão.

Se o componente COM exigir serviços COM+, ele não poderá ser marcado como Deve ser ativado no contexto padrão. Além disso, não há ganho de desempenho real se um objeto COM ativado no contexto padrão fizer várias chamadas para objetos em outros contextos. (Para mais detalhes, consulte Contextos.)

Para impor a ativação no contexto padrão

  1. No painel de detalhes da ferramenta administrativa Serviços de Componentes, clique com o botão direito do mouse no componente (localizado na pasta Componentes de qualquer aplicativo COM+ selecionado) que você deseja ativar no contexto padrão e clique em Propriedades.

  2. Na caixa de diálogo Propriedades do componente, clique na guia Ativação .

  3. Marque a caixa de seleção Deve ser ativado no contextopadrão.

  4. Clique em OK.

Observação

Quando você executa um componente configurado no contexto padrão, COM+ não ativa nenhum dos serviços configurados para esse componente. Esses serviços estarão disponíveis novamente quando você desmarcar a caixa de seleção Deve ser ativado no contexto padrão e, posteriormente, executar o componente configurado em seu próprio contexto.

 

Conceitos de ativação just-in-time COM+

Impondo a ativação no contexto do chamador