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 Komponenten und Komponenten, die zuvor für die Interaktion mit MSDTC, COM+ oder System.EnterpriseServicesgeschrieben wurden. 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 Transaktionsverteilung bereit.
Mithilfe der von dieser Klasse bereitgestellten Methoden können Sie zwei Arten von Transaktionsverteilungen, Export/Import (Pushmodell) und Sender/Empfänger (Pullmodell) verwenden.
Die Verteilung des Export-/Importmodells (Pushmodell) umfasst die folgenden Schritte:
Rufen Sie auf dem Remotecomputer den "Aufenthaltsort" 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, mithilfe einer beliebigen bevorzugten Methode an den Clientcomputer.
Verwenden Sie auf dem Clientcomputer den Aufenthaltsort, um die Transaktion auf den Remotecomputer zu "exportieren" und ein Transaktions-"Cookie" zu generieren. Dies geschieht durch Aufrufen GetExportCookie und Übergeben des Aufenthaltsorts des Remotecomputers.
Senden Sie die Daten, die das Transaktionscookies enthalten, mithilfe einer beliebigen bevorzugten Methode an den Remotecomputer.
Verwenden Sie auf dem Remotecomputer die Transaktion "Cookie", um einen Klon der Clienttransaktion zu erhalten, indem Sie die GetTransactionFromExportCookie Methode aufrufen.
Verwenden Sie auf dem Remotecomputer die Klontransaktion, um den Ressourcen-Manager mit den EnlistVolatile Methoden oder EnlistDurable Methoden der Transaction Klasse zu enlistieren.
Die Sender/Empfänger-Verteilung (Pullmodell) umfasst die folgenden Schritte:
Auf dem Clientcomputer generiert die Verwendung der Transaktion ein entsprechendes "Verteilungstoken" durch Aufrufen GetTransmitterPropagationToken.
Senden Sie die Daten, die das "Verteilungstoken" der Transaktion enthalten, mithilfe einer beliebigen bevorzugten Methode an den Remotecomputer.
Verwenden Sie auf dem Remotecomputer das "Verteilungstoken", um einen Klon der Clienttransaktion durch Aufrufen GetTransactionFromTransmitterPropagationTokenabzurufen.
Das Sender/Empfänger-Modell bietet eine bessere Leistung in Szenarien, in denen das Transaktionstoken an einen Remotecomputer gesendet wird, der Remotecomputer verwendet es jedoch möglicherweise nicht, um die Transaktion abzurufen. Dies liegt daran, dass die Transaktion erst weitergegeben wird, wenn GetTransactionFromTransmitterPropagationToken sie aufgerufen wird. Ein weiterer Vorteil ist, dass das Verteilungstoken an einen beliebigen Remotecomputer gesendet werden kann, während das Exportcookies nur auf dem Computer verwendet werden kann, der den Aufenthaltsort bereitgestellt hat.
Der Aufenthaltsort von Remotetransaktionsmanagern wird in allen Verteilungstoken gekapselt, wodurch sie größer als die entsprechenden Transaktionscookies aus dem Export/Import-Modell sind.
Felder
| Name | Beschreibung |
|---|---|
| PromoterTypeDtc |
Der Typ des verteilten Transaktionsprozessors. |
Methoden
| Name | Beschreibung |
|---|---|
| GetDtcTransaction(Transaction) |
Ruft eine IDtcTransaction Instanz ab, die eine Transaction. |
| GetExportCookie(Transaction, Byte[]) |
Transformiert ein Transaktionsobjekt in ein Exporttransaktionscookies. |
| GetTransactionFromDtcTransaction(IDtcTransaction) |
Generiert einen Transaction aus einem angegebenen IDtcTransaction. |
| GetTransactionFromExportCookie(Byte[]) |
Generiert ein Transaction Aus dem angegebenen Exportcookies. |
| GetTransactionFromTransmitterPropagationToken(Byte[]) |
Generiert eine Transaction Instanz aus dem angegebenen Senderverteilungstoken. |
| GetTransmitterPropagationToken(Transaction) |
Generiert ein Verteilungstoken für das angegebene Transaction. |
| GetWhereabouts() |
Ruft den Aufenthaltsort des verteilten Transaktions-Managers ab, der System.Transactions verwendet wird. |