Compartilhar via


Herdando transações manuais

Se um objeto com uma transação BYOT em seu contexto criar um segundo objeto, o objeto downstream poderá herdar a transação BYOT (se configurado para herdar transações). O primeiro objeto criado usando o gateway BYOT precisa ser configurado para "exigir" ou "suportar" transações. Os objetos subsequentes na atividade podem ser configurados com base nos requisitos do aplicativo.

Para transações automáticas, o tempo de execução COM+ não tenta confirmar a transação até que o objeto raiz indique que está pronto (chamando SetComplete antes de retornar de uma chamada). Os usuários devem estar cientes de que uma transação BYOT pode ser confirmada prematuramente (na medida em que o trabalho de objetos filho não foi concluído), porque a "raiz" não está sendo executada no ambiente de tempo de execução COM+ e a semântica de confirmação não está vinculada ao tempo de vida do objeto. Em geral, o usuário deve tomar cuidado para não violar o limite de sincronização da transação.

Caso contrário, a semântica de confirmação COM+ será aplicada. COM+ não tentará confirmar uma transação enquanto um objeto dentro de um limite de sincronização estiver em chamada. Além disso, os objetos podem indicar sua consistência usando DisableCommit. Se for feita uma tentativa de confirmar uma transação que inclua o trabalho de um objeto chamado DisableCommit, a transação será abortada.