TransactionInterop Klasse

Definition

Erleichtert die Interaktion zwischen System.Transactions und Komponenten, die geschrieben wurden, um mit MSDTC, COM+ oder System.EnterpriseServices zu interagieren.Facilitates interaction between System.Transactions and components that were previously written to interact with MSDTC, COM+, or System.EnterpriseServices. Diese Klasse kann nicht vererbt werden.This class cannot be inherited.

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

Hinweise

Diese Klasse stellt Methoden für die Transaktions Weitergabe bereit.This class provides methods for transaction propagation. Weitere Informationen zur Funktionsweise dieses Prozesses finden Sie unter TransaktionsWeitergabe.For more information on how this process works, see Transaction Propagation.

Mithilfe der von dieser Klasse bereitgestellten Methoden können Sie zwei Arten von Transaktions weitergaben, exportieren/importieren (Push-Modell) und Sender/Receiver (Pull-Modell), einbinden.Using the methods provided by this class, you can engage in two types of transaction propagations, Export/Import (push model) and Transmitter/Receiver (pull model).

Die Verteilung/Import-Weitergabe (Push-Modell) umfasst die folgenden Schritte:The Export/Import (push model) propagation involves these steps,

  1. Rufen Sie auf dem Remote Computer den "Verbleib" des Transaktions-Managers dieses Computers ab, indem Sie GetWhereabouts die-Methode aufrufen.On the remote machine, obtain the "whereabouts" of the transaction manager of that machine by calling the GetWhereabouts method. Anschließend können Sie diese Informationen für die zukünftige Verwendung auf dem Client Computer zwischenspeichern.You can then cache this piece of information on the client machine for future usage.

  2. Senden Sie die Daten, die den Aufenthaltsort enthalten, mithilfe einer beliebigen bevorzugten Methode an den Client Computer.Send the data containing the whereabouts to the client machine using any preferred method

  3. Verwenden Sie auf dem Client Computer den Aufenthaltsort zum Exportieren der Transaktion auf den Remote Computer, und generieren Sie ein Cookie für die Transaktion.On the client machine, use the whereabouts to "export" the transaction to the remote machine and generate a transaction "cookie". Dies erfolgt durch Aufrufen GetExportCookie von und übergeben der Positionsangabe des Remote Computers.This is done by calling GetExportCookie and passing in the remote machine's whereabouts.

  4. Senden Sie die Daten, die die Transaktions Cookies enthalten, mithilfe einer beliebigen bevorzugten Methode an den Remote Computer.Send the data containing the transaction "cookie" to the remote machine using any preferred method

  5. Verwenden Sie auf dem Remote Computer die Transaktion "Cookie", um einen Klon der Client Transaktion zu erhalten, indem GetTransactionFromExportCookie Sie die-Methode aufrufen.On the remote machine, use the transaction "cookie" to obtain a clone of the client transaction by calling the GetTransactionFromExportCookie method.

  6. Verwenden Sie auf dem Remote Computer die Klon Transaktion, um den Ressourcen-Manager mithilfe der EnlistVolatile - EnlistDurable Methode oder der Transaction -Methode der-Klasse einzutragen.On the remote machine, use the clone transaction to enlist the resource manager using the EnlistVolatile or EnlistDurable methods of the Transaction class.

Die Weitergabe des Übermittlers/Empfängers (Pull Model) umfasst die folgenden Schritte:The Transmitter/Receiver (pull model) propagation involves these steps,

  • Auf dem Client Computer wird durch die Verwendung der Transaktion ein entsprechendes "propagierungs Token" generiert, indem aufgerufen wird.GetTransmitterPropagationTokenOn the client machine, using the transaction generates a corresponding "propagation token" by calling GetTransmitterPropagationToken

  • Senden Sie die Daten, die das "propagierungs Token" der Transaktion enthalten, mithilfe einer beliebigen bevorzugten Methode an den Remote Computer.Send the data containing the "propagation token" of the transaction to the remote machine using any preferred method

  • Verwenden Sie auf dem Remote Computer das "propagierungs Token", um einen Klon der Client Transaktion zu erhalten, indem Sie aufrufen.GetTransactionFromTransmitterPropagationTokenOn the remote machine, use the "propagation token" to obtain a clone of the client transaction by calling GetTransactionFromTransmitterPropagationToken

Das Sender-/Empfängermodell bietet eine bessere Leistung in Szenarios, in denen das Transaktions Token an einen Remote Computer gesendet wird, der Remote Computer es jedoch möglicherweise nicht zum Abrufen der Transaktion verwendet.The Transmitter/Receiver model provides better performance in scenarios where the transaction token is sent to a remote machine, but the remote machine may not use it to obtain the transaction. Dies liegt daran, dass die Transaktion erst weiter GetTransactionFromTransmitterPropagationToken gegeben wird, wenn aufgerufen wird.This is because the transaction is not propagated until GetTransactionFromTransmitterPropagationToken is called. Ein weiterer Vorteil besteht darin, dass das propagierungs Token an einen beliebigen Remote Computer gesendet werden kann, während das Export Cookie nur auf dem Computer verwendet werden kann, der den Aufenthaltsort bereitgestellt hat.Another advantage is that the propagation token can be sent to any remote machine, while the export cookie can be used only on the machine that provided the whereabouts.

Beachten Sie jedoch auch, dass der Aufenthaltsort von Remote Transaktions-Managern in alle propagierungs Token gekapselt ist, sodass Sie die entsprechenden Transaktions Cookies aus dem Export-/importermodell vergrößern.However, you should also note that the whereabouts of remote transaction managers are encapsulated in all the propagation tokens, making them bigger than the corresponding transaction cookies from the Export/Import model.

Hinweis Dieser Typ verwendet LinkDemand , um zu verhindern, dass er von nicht vertrauenswürdigem Code aufgerufen wird. es ist jedoch nur für den FullTrust unmittelbaren Aufrufer erforderlich, den Berechtigungs Satz zu besitzen.Note This type uses LinkDemand to prevent it from being called from untrusted code; however, only the immediate caller is required to possess the FullTrust permission set.

Felder

PromoterTypeDtc

Der Typ des Prozessors der verteilten Transaktion.The type of the distributed transaction processor.

Methoden

GetDtcTransaction(Transaction)

Ruft eine IDtcTransaction-Instanz ab, die eine Transaction darstellt.Gets an IDtcTransaction instance that represents a Transaction.

GetExportCookie(Transaction, Byte[])

Wandelt ein Transaktionsobjekt in ein Exporttransaktionscookie um.Transforms a transaction object into an export transaction cookie.

GetTransactionFromDtcTransaction(IDtcTransaction)

Generiert eine Transaction aus einer angegebenen IDtcTransaction.Generates a Transaction from a specified IDtcTransaction.

GetTransactionFromExportCookie(Byte[])

Generiert eine Transaction aus dem angegebenen Exportcookie.Generates a Transaction from the specified an export cookie.

GetTransactionFromTransmitterPropagationToken(Byte[])

Generiert eine Transaction-Instanz aus dem angegebenen Senderverteilungstoken.Generates a Transaction instance from the specified transmitter propagation token.

GetTransmitterPropagationToken(Transaction)

Generiert ein Weitergabetoken für die angegebene Transaction.Generates a propagation token for the specified Transaction.

GetWhereabouts()

Ruft den Verbleib des verteilten Transaktions-Managers ab, der für System.Transactions verwendet wird.Gets the Whereabouts of the distributed transaction manager that System.Transactions uses.

Gilt für: