Partilhar via


Configurando o bit de conclusão

COM+ desativará um objeto ativado por JIT com base no status de uma propriedade de contexto, o bit done, da seguinte maneira:

  • Quando o bit concluído é definido como True, COM+ desativa o objeto quando a chamada de método atual retorna.
  • Quando o bit concluído é definido como False, o objeto continua ativo após o retorno da chamada do método atual.

Por padrão, o bit done é definido como False quando um objeto é criado e seu contexto inicializado. (Qualquer objeto ativado por JIT é criado em seu próprio contexto para que tenha seu próprio bit done para definir.) No entanto, você pode alterar essa configuração padrão por método usando a propriedade feita automaticamente. Você pode definir o bit concluído das seguintes maneiras:

  • Usando IContextState
  • Usando IObjectContext
  • Usando a propriedade de conclusão automática

Usando IContextState

Você pode usar IContextState::SetDeactivateOnReturn para definir o bit concluído como True ou False.

Você pode usar IContextState::GetDeactivateOnReturn para obter o status atual do bit concluído do contexto do objeto.

Usando IObjectContext

Você pode usar os seguintes métodos em IObjectContext para definir o bit concluído e, ao mesmo tempo, definir o bit consistente usado para votar em transações:

  • SetComplete sinaliza que você terminou e que votou para confirmar a transação atual. Ele define o bit concluído e o bit consistente como True.
  • SetAbort sinaliza que terminaste e anula a transação atual. Define o bit concluído como Verdadeiro e o bit consistente como Falso.
  • EnableCommit sinaliza que você não terminou, mas que votou para confirmar a transação. Define o bit concluído como 'Falso' e o bit consistente como 'Verdadeiro'.
  • DisableCommit sinaliza que você não terminou e que votou para não confirmar a transação neste momento, geralmente porque o estado é inconsistente. Ele define o bit concluído e o bit consistente como False.

Conceitos de Ativação Just-in-Time COM+

Ativando a ativação JIT para um componente

Pool de objetos e ativação JIT COM+

Transações e de ativação JIT COM+