TransactionInterop Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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.
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í.
Odeslání dat obsahujících umístění do klientského počítače pomocí libovolné upřednostňované metody
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.
Odeslání dat obsahujících transakci "cookie" vzdálenému počítači pomocí libovolné upřednostňované metody
Na vzdáleném počítači pomocí transakce "cookie" získejte klon klientské transakce voláním GetTransactionFromExportCookie metody.
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á. |