Compartilhar via


TransactionInterop Classe

Definição

Facilita a interação entre System.Transactions componentes que foram gravados anteriormente para interagir com MSDTC, COM+ou System.EnterpriseServices. Essa classe não pode ser herdada.

public ref class TransactionInterop abstract sealed
public static class TransactionInterop
type TransactionInterop = class
Public Class TransactionInterop
Herança
TransactionInterop

Comentários

Essa classe fornece métodos para propagação de transações.

Usando os métodos fornecidos por essa classe, você pode se envolver em dois tipos de propagações de transação, Exportar/Importar (modelo de push) e Transmissor/Receptor (modelo de pull).

A propagação exportar/importar (modelo de push) envolve as seguintes etapas:

  1. No computador remoto, obtenha o "paradeiro" do gerenciador de transações desse computador chamando o GetWhereabouts método. Em seguida, você pode armazenar em cache essas informações no computador cliente para uso futuro.

  2. Envie os dados que contêm o paradeiro para o computador cliente usando qualquer método preferencial.

  3. No computador cliente, use o paradeiro para "exportar" a transação para o computador remoto e gerar um "cookie" de transação. Isso é feito chamando GetExportCookie e passando o paradeiro da máquina remota.

  4. Envie os dados que contêm a transação "cookie" para o computador remoto usando qualquer método preferencial.

  5. No computador remoto, use a transação "cookie" para obter um clone da transação do cliente chamando o GetTransactionFromExportCookie método.

  6. No computador remoto, use a transação clone para inscrever o gerenciador de recursos usando os EnlistVolatile métodos da Transaction classe.EnlistDurable

A propagação do Transmissor/Receptor (modelo de pull) envolve as seguintes etapas:

  • No computador cliente, o uso da transação gera um "token de propagação" correspondente chamando GetTransmitterPropagationToken.

  • Envie os dados que contêm o "token de propagação" da transação para o computador remoto usando qualquer método preferencial.

  • No computador remoto, use o "token de propagação" para obter um clone da transação do cliente chamando GetTransactionFromTransmitterPropagationToken.

O modelo transmissor/receptor fornece melhor desempenho em cenários em que o token de transação é enviado para um computador remoto, mas o computador remoto pode não usá-lo para obter a transação. Isso ocorre porque a transação não é propagada até GetTransactionFromTransmitterPropagationToken ser chamada. Outra vantagem é que o token de propagação pode ser enviado para qualquer computador remoto, enquanto o cookie de exportação só pode ser usado no computador que forneceu o paradeiro.

O paradeiro dos gerenciadores de transações remotas é encapsulado em todos os tokens de propagação, tornando-os maiores do que os cookies de transação correspondentes do modelo exportar/importar.

Campos

Nome Description
PromoterTypeDtc

O tipo do processador de transação distribuída.

Métodos

Nome Description
GetDtcTransaction(Transaction)

Obtém uma IDtcTransaction instância que representa um Transaction.

GetExportCookie(Transaction, Byte[])

Transforma um objeto de transação em um cookie de transação de exportação.

GetTransactionFromDtcTransaction(IDtcTransaction)

Gera um Transaction de um especificado IDtcTransaction.

GetTransactionFromExportCookie(Byte[])

Gera um Transaction do cookie de exportação especificado.

GetTransactionFromTransmitterPropagationToken(Byte[])

Gera uma Transaction instância do token de propagação do transmissor especificado.

GetTransmitterPropagationToken(Transaction)

Gera um token de propagação para o especificado Transaction.

GetWhereabouts()

Obtém o paradeiro do gerenciador de transações distribuído que System.Transactions usa.

Aplica-se a