Język

TransactionInterop Klasa

Definicja

Ułatwia interakcję między składnikami System.Transactions i, które zostały wcześniej napisane w celu interakcji z MSDTC, COM+lub System.EnterpriseServices. Klasa ta nie może być dziedziczona.

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

Uwagi

Ta klasa udostępnia metody propagacji transakcji. Aby uzyskać więcej informacji na temat działania tego procesu, zobacz Propagacja transakcji.

Korzystając z metod dostarczonych przez tę klasę, możesz zaangażować się w dwa typy propagacji transakcji, Eksport/Import (model wypychania) i Nadajnik/Odbiornik (model ściągania).

Propagacja eksportu/importu (modelu wypychania) obejmuje następujące kroki:

  1. Na maszynie zdalnej uzyskaj "miejsce pobytu" menedżera transakcji tego komputera, wywołując metodę GetWhereabouts . Następnie możesz buforować ten fragment informacji na maszynie klienckiej w celu użycia w przyszłości.

  2. Wyślij dane zawierające miejsce pobytu do komputera klienckiego przy użyciu dowolnej preferowanej metody.

  3. Na komputerze klienckim użyj miejsca pobytu, aby "wyeksportować" transakcję do maszyny zdalnej i wygenerować transakcję "cookie". Odbywa się to przez wywołanie GetExportCookie i przekazanie miejsca pobytu maszyny zdalnej.

  4. Wyślij dane zawierające transakcję "cookie" do maszyny zdalnej przy użyciu dowolnej preferowanej metody.

  5. Na komputerze zdalnym użyj transakcji "cookie", aby uzyskać klon transakcji klienta, wywołując metodę GetTransactionFromExportCookie .

  6. Na maszynie zdalnej użyj transakcji klonowania, aby zarejestrować menedżera zasobów przy użyciu EnlistVolatile metod EnlistDurable lub Transaction klasy .

Propagacja nadajnika/odbiornika (modelu ściągania) obejmuje następujące kroki:

  • Na komputerze klienckim użycie transakcji generuje odpowiedni "token propagacji", wywołując metodę GetTransmitterPropagationToken.

  • Wyślij dane zawierające "token propagacji" transakcji do maszyny zdalnej przy użyciu dowolnej preferowanej metody.

  • Na maszynie zdalnej użyj tokenu propagacji, aby uzyskać klon transakcji klienta, wywołując element <xref:System.Transactions.TransactionInterop.GetTransactionFromTransmitterPropagationToken%2A.

Model nadajnika/odbiornika zapewnia lepszą wydajność w scenariuszach, w których token transakcji jest wysyłany do maszyny zdalnej, ale maszyna zdalna może nie używać go do uzyskania transakcji. Dzieje się tak, ponieważ transakcja nie jest propagowana do momentu GetTransactionFromTransmitterPropagationToken wywołania. Inną zaletą jest to, że token propagacji można wysłać do dowolnej maszyny zdalnej, podczas gdy plik cookie eksportu może być używany tylko na maszynie, która dostarczyła miejsce pobytu.

Należy jednak również pamiętać, że miejsce pobytu zdalnych menedżerów transakcji jest hermetyzowane we wszystkich tokenach propagacji, co sprawia, że są większe niż odpowiednie pliki cookie transakcji z modelu Eksportuj/Importu.

Pola

Nazwa Opis
PromoterTypeDtc

Typ procesora transakcji rozproszonej.

Metody

Nazwa Opis
GetDtcTransaction(Transaction)

IDtcTransaction Pobiera wystąpienie reprezentujące Transactionelement .

GetExportCookie(Transaction, Byte[])

Przekształca obiekt transakcji w plik cookie transakcji eksportu.

GetTransactionFromDtcTransaction(IDtcTransaction)

Generuje element Transaction na podstawie określonego IDtcTransactionelementu .

GetTransactionFromExportCookie(Byte[])

Generuje element Transaction na podstawie określonego pliku cookie eksportu.

GetTransactionFromTransmitterPropagationToken(Byte[])

Transaction Generuje wystąpienie z określonego tokenu propagacji nadajnika.

GetTransmitterPropagationToken(Transaction)

Generuje token propagacji dla określonego Transactionelementu .

GetWhereabouts()

Pobiera miejsce pobytu rozproszonego menedżera transakcji, który System.Transactions używa.

Dotyczy