Compartilhar via


Configurando o bit concluído

COM+ desativará um objeto ativado por JIT com base no status de uma propriedade de contexto, o bit concluído, 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 done é definido como False, o objeto permanece ativo quando a chamada de método atual retorna.

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 ele tenha seu próprio bit feito para definir.) No entanto, você pode alterar essa configuração padrão por método usando a propriedade auto-done. Você pode definir o bit done das seguintes maneiras:

Usando IContextState

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

Você pode usar IContextState::GetDeactivateOnReturn para obter o status atual do bit done 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 done e o bit consistente como True.
  • SetAbort sinaliza que você terminou e condena a transação atual. Ele define o bit done como True e o bit consistente como False.
  • EnableCommit sinaliza que você não terminou, mas que votou para confirmar a transação. Ele define o bit done como False e o bit consistente como True.
  • 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 done e o bit consistente como False.

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

Habilitando a ativação JIT para um componente

Pool de objetos e ativação JIT COM+

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