Compartir a través de


TransactionInterop Clase

Definición

Facilita la interacción entre System.Transactions los componentes y que se escribieron anteriormente para interactuar con MSDTC, COM+o System.EnterpriseServices. Esta clase no puede heredarse.

public ref class TransactionInterop abstract sealed
public static class TransactionInterop
type TransactionInterop = class
Public Class TransactionInterop
Herencia
TransactionInterop

Comentarios

Esta clase proporciona métodos para la propagación de transacciones.

Con los métodos proporcionados por esta clase, puede participar en dos tipos de propagaciones de transacciones, Export/Import (modelo de inserción) y Transmisor/Receptor (modelo de extracción).

La propagación export/Import (modelo de inserción) implica los pasos siguientes:

  1. En el equipo remoto, obtenga el "paradero" del administrador de transacciones de esa máquina llamando al GetWhereabouts método . A continuación, puede almacenar en caché este fragmento de información en la máquina cliente para su uso futuro.

  2. Envíe los datos que contienen el paradero al equipo cliente mediante cualquier método preferido.

  3. En el equipo cliente, use el paradero para "exportar" la transacción a la máquina remota y generar una transacción "cookie". Esto se hace llamando GetExportCookie a y pasando el paradero de la máquina remota.

  4. Envíe los datos que contienen la transacción "cookie" a la máquina remota mediante cualquier método preferido.

  5. En el equipo remoto, use la transacción "cookie" para obtener un clon de la transacción de cliente llamando al GetTransactionFromExportCookie método .

  6. En el equipo remoto, use la transacción de clonación para inscribir al administrador de recursos mediante los EnlistVolatile métodos o EnlistDurable de la Transaction clase .

La propagación del transmisor/receptor (modelo de extracción) implica los pasos siguientes:

  • En el equipo cliente, el uso de la transacción genera un "token de propagación" correspondiente llamando a GetTransmitterPropagationToken.

  • Envíe los datos que contienen el "token de propagación" de la transacción a la máquina remota mediante cualquier método preferido.

  • En el equipo remoto, use el "token de propagación" para obtener un clon de la transacción de cliente llamando a GetTransactionFromTransmitterPropagationToken.

El modelo transmisor/receptor proporciona un mejor rendimiento en escenarios en los que el token de transacción se envía a una máquina remota, pero es posible que la máquina remota no la use para obtener la transacción. Esto se debe a que la transacción no se propaga hasta GetTransactionFromTransmitterPropagationToken que se llama a . Otra ventaja es que el token de propagación se puede enviar a cualquier máquina remota, mientras que la cookie de exportación solo se puede usar en la máquina que proporcionó el paradero.

Los paraderos de los administradores de transacciones remotos se encapsulan en todos los tokens de propagación, lo que hace que sean más grandes que las cookies de transacción correspondientes del modelo Export/Import.

Campos

Nombre Description
PromoterTypeDtc

Tipo del procesador de transacciones distribuidas.

Métodos

Nombre Description
GetDtcTransaction(Transaction)

Obtiene una IDtcTransaction instancia de que representa un Transactionobjeto .

GetExportCookie(Transaction, Byte[])

Transforma un objeto de transacción en una cookie de transacción de exportación.

GetTransactionFromDtcTransaction(IDtcTransaction)

Genera un Transaction objeto a partir de un especificado IDtcTransaction.

GetTransactionFromExportCookie(Byte[])

Genera a Transaction partir de la cookie de exportación especificada.

GetTransactionFromTransmitterPropagationToken(Byte[])

Genera una Transaction instancia del token de propagación del transmisor especificado.

GetTransmitterPropagationToken(Transaction)

Genera un token de propagación para el especificado Transaction.

GetWhereabouts()

Obtiene el paradero del administrador de transacciones distribuido que System.Transactions usa.

Se aplica a