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
- Usando IObjectContext
- Usando a propriedade de feito automaticamente
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.
Tópicos relacionados