TransactionInterop Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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:
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.
Envie os dados que contêm o paradeiro para o computador cliente usando qualquer método preferencial.
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.
Envie os dados que contêm a transação "cookie" para o computador remoto usando qualquer método preferencial.
No computador remoto, use a transação "cookie" para obter um clone da transação do cliente chamando o GetTransactionFromExportCookie método.
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. |