Traga sua própria transação (BYOT)

O BYOT permite que um componente seja criado com ou herde uma transação externa. Ou seja, um componente que ainda não tem uma transação associada pode adquirir uma transação. Atualmente, as transações MTS são automáticas; Se uma instância de componente reside em uma transação é determinado no momento da criação. Os atributos transacionais de um componente e seu criador determinam qual transação está associada a uma determinada instância. Em todos os casos, o MTS controla a vida útil das transações. COM+ estende isso para permitir a configuração de uma transação DTC ou TIP pré-existente arbitrária como a propriedade de transação do contexto de um novo componente. Isso permite que os componentes configurados sejam associados a transações cujos tempos de vida são controlados por um monitor TP, OTS ou DBMS.

Observação

As transações BYOT devem ser usadas com cautela. Em determinadas situações, eles podem resultar em uma transação abrangendo vários domínios de sincronização, ou seja, permitem paralelismo com uma transação, causando uma condição de deadlock. Transações automáticas, em vez de transações BYOT, são o modelo de programação preferido para escritores de componentes de negócios.

 

As interfaces para transações BYOT incluem a interface ICreateWithTransactionEx e a interface ICreateWithTipTransactionEx. A interface ICreateWithTransactionEx cria um objeto que é inscrito em uma transação manual. A interface ICreateWithTipTransactionEx cria um objeto que é inscrito em uma transação manual usando o Transaction Internet Protocol (TIP).

Herdando transações manuais