Partilhar via


Sinalizadores consistentes e concluídos

COM+ sempre cria um objeto de contexto antes de ativar um objeto transacional. O objeto de contexto contém informações relacionadas ao objeto, como seu criador e seu identificador de transação. Cada objeto de contexto também contém um de sinalizador consistente e um sinalizador concluído. Juntos, esses sinalizadores determinam o status do objeto transacional.

O sinalizador consistente indica que o objeto transacional é consistente ou inconsistente. Os detalhes específicos do que torna o estado de um objeto consistente cabe ao programador. Quando uma chamada de método define esse sinalizador como True, o objeto é consistente. False indica que o objeto é inconsistente. COM+ define o sinalizador como True quando cria uma ocorrência de objeto. Um objeto consistente está pronto para prosseguir com a transação. Enquanto um objeto permanece ativo, as chamadas de método subsequentes podem alternar repetidamente o sinalizador consistente de True para False e vice-versa.

O sinalizador concluído determina a duração de uma transação. Quando uma chamada de método retorna, COM+ inspeciona o sinalizador concluído. Se o método define esse sinalizador como True, COM+ desativa o objeto e anota o sinalizador consistente. Quando o sinalizador concluído é False, COM+ não desativa o objeto nem anota o sinalizador consistente. COM+ define o sinalizador done como False quando cria uma instância de objeto.

O sinalizador consistente emite um voto para confirmar ou anular a transação na qual é executado, e o sinalizador done finaliza a votação. COM+ inspeciona o sinalizador consistente quando o sinalizador concluído é definido como True em um retorno de chamada de método ou quando o objeto é desativado. Embora o sinalizador consistente de um objeto possa ser alterado repetidamente em cada chamada de método, apenas a última alteração conta.

Gerenciando transações automáticas em COM+

Definindo os sinalizadores consistentes e concluídos