Transaction.EnlistPromotableSinglePhase Método

Definición

Inscribe a un administrador de recursos que tiene una transacción interna mediante una Inscripción de fase única promocionable (PSPE).Enlists a resource manager that has an internal transaction using a promotable single phase enlistment (PSPE).

Sobrecargas

EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification, Guid)

Inscribe a un administrador de recursos que tiene una transacción interna mediante una Inscripción de fase única promocionable (PSPE).Enlists a resource manager that has an internal transaction using a promotable single phase enlistment (PSPE).

EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification)

Inscribe a un administrador de recursos que tiene una transacción interna mediante una Inscripción de fase única promocionable (PSPE).Enlists a resource manager that has an internal transaction using a promotable single phase enlistment (PSPE).

EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification, Guid)

Inscribe a un administrador de recursos que tiene una transacción interna mediante una Inscripción de fase única promocionable (PSPE).Enlists a resource manager that has an internal transaction using a promotable single phase enlistment (PSPE).

public:
 bool EnlistPromotableSinglePhase(System::Transactions::IPromotableSinglePhaseNotification ^ promotableSinglePhaseNotification, Guid promoterType);
public bool EnlistPromotableSinglePhase (System.Transactions.IPromotableSinglePhaseNotification promotableSinglePhaseNotification, Guid promoterType);
member this.EnlistPromotableSinglePhase : System.Transactions.IPromotableSinglePhaseNotification * Guid -> bool
Public Function EnlistPromotableSinglePhase (promotableSinglePhaseNotification As IPromotableSinglePhaseNotification, promoterType As Guid) As Boolean

Parámetros

promotableSinglePhaseNotification
IPromotableSinglePhaseNotification

Interfaz IPromotableSinglePhaseNotification implementada por el participante.A IPromotableSinglePhaseNotification interface implemented by the participant.

promoterType
Guid

Tipo de procesador de la transacción distribuida.The type of the distributed transaction processor.

Devoluciones

Implementación de interfaz SinglePhaseEnlistment que describe la inscripción.A SinglePhaseEnlistment interface implementation that describes the enlistment.

Comentarios

Si el valor especificado para el promoterType parámetro es TransactionInterop.PromoterTypeDtc, MSDTC debe promover la transacción y el byte[] devuelto por el IPromotableSinglePhaseNotification.Promote método debe ser un token de propagación de transacción de MSDTC.If the value specified for the promoterType parameter is TransactionInterop.PromoterTypeDtc, the transaction must be promoted by MSDTC and the byte[] returned from the IPromotableSinglePhaseNotification.Promote method must be an MSDTC transaction propagation token.

Si el valor especificado para el promoterType parámetro noTransactionInterop.PromoterTypeDTCes, MSDTC no promoverá la transacción, sino que la implementación del llamador de. IPromotableSinglePhaseNotificationIf the value specified for the promoterType parameter is notTransactionInterop.PromoterTypeDTC, the transaction will not be promoted by MSDTC, but rather by the caller's implementation of IPromotableSinglePhaseNotification. Si esta llamada es correcta, hay un conjunto de operaciones posteriores en la transacción que devolverán TransactionPromotionException.If this call is successful, there is a set of subsequent operations on the transaction that will return a TransactionPromotionException. Estas operaciones son:These operations are:

  • Transaction.EnlistDurable

  • TransactionInterop.GetDtcTransaction

  • TransactionInterop.GetExportCookie

  • TransactionInterop.GetTransmitterPropagationToken

  • Serialización de un objeto de transacciónSerialization of a Transaction object

EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification)

Inscribe a un administrador de recursos que tiene una transacción interna mediante una Inscripción de fase única promocionable (PSPE).Enlists a resource manager that has an internal transaction using a promotable single phase enlistment (PSPE).

public:
 bool EnlistPromotableSinglePhase(System::Transactions::IPromotableSinglePhaseNotification ^ notification);
public bool EnlistPromotableSinglePhase (System.Transactions.IPromotableSinglePhaseNotification notification);
member this.EnlistPromotableSinglePhase : System.Transactions.IPromotableSinglePhaseNotification -> bool
Public Function EnlistPromotableSinglePhase (notification As IPromotableSinglePhaseNotification) As Boolean

Parámetros

promotableSinglePhaseNotification
IPromotableSinglePhaseNotification

Interfaz IPromotableSinglePhaseNotification implementada por el participante.A IPromotableSinglePhaseNotification interface implemented by the participant.

Devoluciones

Implementación de interfaz SinglePhaseEnlistment que describe la inscripción.A SinglePhaseEnlistment interface implementation that describes the enlistment.

Comentarios

Las inscripciones de una transacción son volátiles; es decir, no sobreviven al error del participante.Enlistments in a transaction are volatile; that is, they do not survive the failure of the participant. Además, este método solo sugiere que el administrador de transacciones escale el control, pero no se garantiza la extensión en sí.In addition, this method only suggests the transaction manager to escalate control, but the escalation itself is not guaranteed. Si se produce un error en la extensión, no se notifica al usuario y se revierte la transacción.If escalation fails, the user is not notified and the transaction is rolled back.

El parámetro promotableSinglePhaseNotification se usa para comunicarse con el administrador de transacciones el resultado de intentar confirmar la transacción interna del administrador de recursos.The parameter promotableSinglePhaseNotification is used to communicate to the transaction manager the outcome of attempting to commit the resource manager's internal transaction. Si se detectan datos incoherentes, el administrador de transacciones inicia una excepción.If inconsistent data is reported, the transaction manager throws an exception. Si se InDoubt notifica un resultado, el administrador de transacciones busca la notificación de resultados en su propia inscripción interna y omite la respuesta notificada.If an InDoubt outcome is reported, the transaction manager looks for the outcome notification in its own internal enlistment and ignores the reported response.

Para obtener más información sobre las inlistas y la extensión de una transacción, consulte escaladode la administración de transacciones.For more information on enlistments and escalation of a transaction, please see Transaction Management Escalation. Para obtener más información sobre PSPE, consulte optimización mediante la confirmación de fase única y notificación de fase única promocionable.For more information on PSPE, see Optimization Using Single Phase Commit and Promotable Single Phase Notification.

Nota: Este método usa LinkDemand para evitar que se llame desde código que no es de confianza; sin embargo, solo es necesario que el llamador inmediato FullTrust posea el conjunto de permisos.Note This method uses LinkDemand to prevent it from being called from untrusted code; however, only the immediate caller is required to possess the FullTrust permission set.

Se aplica a