Sdílet prostřednictvím


TransactionInterop Třída

Definice

Usnadňuje interakci mezi System.Transactions komponentami a komponentami, které byly dříve napsané pro interakci s MSDTC, COM+ nebo System.EnterpriseServices. Tuto třídu nelze dědit.

public ref class TransactionInterop abstract sealed
public static class TransactionInterop
type TransactionInterop = class
Public Class TransactionInterop
Dědičnost
TransactionInterop

Poznámky

Tato třída poskytuje metody šíření transakcí. Další informace o tom, jak tento proces funguje, najdete v tématu Šíření transakcí.

Pomocí metod poskytovaných touto třídou se můžete zapojit do dvou typů šíření transakcí, exportu/importu (model push) a vysílače/přijímače (model vyžádání).

Šíření exportu a importu (nabízeného modelu) zahrnuje tyto kroky.

  1. Na vzdáleném počítači získejte "umístění" správce transakcí tohoto počítače voláním GetWhereabouts metody. Tyto informace pak můžete uložit do mezipaměti na klientském počítači pro budoucí využití.

  2. Odeslání dat obsahujících umístění do klientského počítače pomocí libovolné upřednostňované metody

  3. Na klientském počítači použijte umístění k "exportu" transakce do vzdáleného počítače a vygenerujte transakci "cookie". To se provádí voláním GetExportCookie a předáním umístění vzdáleného počítače.

  4. Odeslání dat obsahujících transakci "cookie" vzdálenému počítači pomocí libovolné upřednostňované metody

  5. Na vzdáleném počítači pomocí transakce "cookie" získejte klon klientské transakce voláním GetTransactionFromExportCookie metody.

  6. Na vzdáleném počítači použijte klonovací transakci k zařazení správce prostředků pomocí EnlistVolatile nebo EnlistDurable metod Transaction třídy.

Šíření vysílače/přijímače (model vyžádání) zahrnuje tyto kroky,

  • Na klientském počítači pomocí transakce vygeneruje odpovídající "šíření tokenu" voláním GetTransmitterPropagationToken

  • Odeslání dat obsahujících "token šíření" transakce do vzdáleného počítače pomocí libovolné upřednostňované metody

  • Na vzdáleném počítači pomocí "tokenu šíření" získejte klon klientské transakce voláním GetTransactionFromTransmitterPropagationToken

Model vysílače/příjemce poskytuje lepší výkon ve scénářích, kdy se token transakce odesílá do vzdáleného počítače, ale vzdálený počítač ho nemusí používat k získání transakce. Důvodem je to, že transakce není rozšířena, dokud GetTransactionFromTransmitterPropagationToken se nevolá. Další výhodou je, že token šíření lze odeslat do libovolného vzdáleného počítače, zatímco soubor cookie exportu lze použít pouze na počítači, který poskytuje umístění.

Měli byste ale také poznamenat, že umístění vzdálených správců transakcí je zapouzdřeno do všech tokenů šíření, což je větší než odpovídající soubory cookie transakcí z modelu exportu/importu.

Poznámka Tento typ se používá LinkDemand k tomu, aby se zabránilo volání z nedůvěryhodného kódu. K tomu je ale nutné mít FullTrust sadu oprávnění pouze okamžitě volající.

Pole

PromoterTypeDtc

Typ distribuovaného procesoru transakcí.

Metody

GetDtcTransaction(Transaction)

IDtcTransaction Získá instanci, která představuje Transaction.

GetExportCookie(Transaction, Byte[])

Transformuje objekt transakce na soubor cookie exportu transakce.

GetTransactionFromDtcTransaction(IDtcTransaction)

Vygeneruje ze Transaction zadaného IDtcTransactionobjektu .

GetTransactionFromExportCookie(Byte[])

Vygeneruje Transaction ze zadaného souboru cookie exportu.

GetTransactionFromTransmitterPropagationToken(Byte[])

Vygeneruje Transaction instanci ze zadaného tokenu šíření vysílače.

GetTransmitterPropagationToken(Transaction)

Vygeneruje token šíření pro zadaný Transaction.

GetWhereabouts()

Získá umístění distribuovaného správce transakcí, který System.Transactions používá.

Platí pro