TransactionInterop Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Erleichtert die Interaktion zwischen System.Transactions und Komponenten, die geschrieben wurden, um mit MSDTC, COM+ oder System.EnterpriseServices zu interagieren. Diese Klasse kann nicht vererbt werden.
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 Transaktionsweitergabe bereit. Weitere Informationen zur Funktionsweise dieses Prozesses finden Sie unter Transaktionsweitergabe.
Mithilfe der von dieser Klasse bereitgestellten Methoden können Sie zwei Arten von Transaktionsweitergaben ausführen: Export/Import (Pushmodell) und Transmitter/Receiver (Pullmodell).
Die Weitergabe von Export/Import (Pushmodell) umfasst die folgenden Schritte:
Rufen Sie auf dem Remotecomputer den "Verbleib" des Transaktions-Managers dieses Computers ab, indem Sie die GetWhereabouts -Methode aufrufen. Sie können diese Informationen dann für die zukünftige Verwendung auf dem Clientcomputer zwischenspeichern.
Senden Sie die Daten, die den Aufenthaltsort enthalten, mit einer beliebigen bevorzugten Methode an den Clientcomputer.
Verwenden Sie auf dem Clientcomputer den Verbleib, um die Transaktion auf den Remotecomputer zu "exportieren" und ein Transaktionscookies zu generieren. Dies geschieht durch Aufrufen GetExportCookie und Übergeben des Verbleibs des Remotecomputers.
Senden Sie die Daten, die die Transaktion "Cookie" enthalten, mit einer beliebigen bevorzugten Methode an den Remotecomputer.
Verwenden Sie auf dem Remotecomputer die Transaktion "Cookie", um einen Klon der Clienttransaktion abzurufen, indem Sie die GetTransactionFromExportCookie -Methode aufrufen.
Verwenden Sie auf dem Remotecomputer die Klontransaktion, um den Ressourcen-Manager mit den EnlistVolatile Methoden oder EnlistDurable der Transaction -Klasse einzulisten.
Die Übertragung des Senders/Empfängers (Pullmodell) umfasst die folgenden Schritte:
Auf dem Clientcomputer generiert die Verwendung der Transaktion ein entsprechendes "Weitergabetoken", indem aufgerufen GetTransmitterPropagationTokenwird.
Senden Sie die Daten, die das "Weitergabetoken" der Transaktion enthalten, mit einer beliebigen bevorzugten Methode an den Remotecomputer.
Verwenden Sie auf dem Remotecomputer das "Weitergabetoken", um einen Klon der Clienttransaktion abzurufen, indem Sie xref:System.Transactions.TransactionInterop.GetTransactionFromTransmitterPropagationToken%2A aufrufen <.
Das Transmitter/Receiver-Modell bietet eine bessere Leistung in Szenarien, in denen das Transaktionstoken an einen Remotecomputer gesendet wird, der Remotecomputer es jedoch möglicherweise nicht zum Abrufen der Transaktion verwendet. Dies liegt daran, dass die Transaktion erst weitergegeben wird, wenn GetTransactionFromTransmitterPropagationToken sie aufgerufen wird. Ein weiterer Vorteil ist, dass das Weitergabetoken an jeden Remotecomputer gesendet werden kann, während das Exportcooky nur auf dem Computer verwendet werden kann, der den Aufenthaltsort angegeben hat.
Beachten Sie jedoch auch, dass der Aufenthaltsort von Remotetransaktions-Managern in allen Weitergabetoken gekapselt ist, sodass sie größer sind als die entsprechenden Transaktionscookies aus dem Export/Import-Modell.
Felder
PromoterTypeDtc |
Der Typ des Prozessors der verteilten Transaktion. |
Methoden
GetDtcTransaction(Transaction) |
Ruft eine IDtcTransaction-Instanz ab, die eine Transaction darstellt. |
GetExportCookie(Transaction, Byte[]) |
Wandelt ein Transaktionsobjekt in ein Exporttransaktionscookie um. |
GetTransactionFromDtcTransaction(IDtcTransaction) |
Generiert eine Transaction aus einer angegebenen IDtcTransaction. |
GetTransactionFromExportCookie(Byte[]) |
Generiert eine Transaction aus dem angegebenen Exportcookie. |
GetTransactionFromTransmitterPropagationToken(Byte[]) |
Generiert eine Transaction-Instanz aus dem angegebenen Senderverteilungstoken. |
GetTransmitterPropagationToken(Transaction) |
Generiert ein Weitergabetoken für die angegebene Transaction. |
GetWhereabouts() |
Ruft den Verbleib des verteilten Transaktions-Managers ab, der für System.Transactions verwendet wird. |