TransactionInterop Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Underlättar interaktion mellan System.Transactions och komponenter som tidigare skrivits för att interagera med MSDTC, COM+eller System.EnterpriseServices. Det går inte att ärva den här klassen.
public ref class TransactionInterop abstract sealed
public static class TransactionInterop
type TransactionInterop = class
Public Class TransactionInterop
- Arv
-
TransactionInterop
Kommentarer
Den här klassen innehåller metoder för transaktionsspridning. Mer information om hur den här processen fungerar finns i Transaktionsspridning.
Med hjälp av de metoder som tillhandahålls av den här klassen kan du använda två typer av transaktionsspridningar, Export/Import (push-modell) och Transmitter/Receiver (pull-modell).
Spridning av export/import (push-modell) omfattar följande steg:
På fjärrdatorn hämtar du "whereabouts" för transaktionshanteraren för den datorn genom att anropa GetWhereabouts metoden. Du kan sedan cachelagras den här informationen på klientdatorn för framtida användning.
Skicka data som innehåller var du befinner dig på klientdatorn med valfri metod.
På klientdatorn använder du platsen för att "exportera" transaktionen till fjärrdatorn och generera en transaktion "cookie". Detta görs genom att anropa GetExportCookie och skicka in fjärrdatorns plats.
Skicka data som innehåller transaktionen "cookie" till fjärrdatorn med valfri metod.
På fjärrdatorn använder du transaktionen "cookie" för att hämta en klon av klienttransaktionen genom att anropa GetTransactionFromExportCookie metoden.
På fjärrdatorn använder du klontransaktionen för att registrera resurshanteraren med hjälp EnlistVolatile av EnlistDurable klassens metoder ellerTransaction.
Spridning av sändare/mottagare (pull-modell) omfattar följande steg:
På klientdatorn genererar användning av transaktionen en motsvarande "spridningstoken" genom att anropa GetTransmitterPropagationToken.
Skicka data som innehåller "spridningstoken" för transaktionen till fjärrdatorn med valfri metod.
På fjärrdatorn använder du "spridningstoken" för att hämta en klon av klienttransaktionen genom att anropa <xref:System.Transactions.TransactionInterop.GetTransactionFromTransmitterPropagationToken%2A.
Modellen Transmitter/Receiver ger bättre prestanda i scenarier där transaktionstoken skickas till en fjärrdator, men fjärrdatorn kanske inte använder den för att hämta transaktionen. Det beror på att transaktionen inte sprids förrän GetTransactionFromTransmitterPropagationToken den anropas. En annan fördel är att spridningstoken kan skickas till valfri fjärrdator, medan exportkakan endast kan användas på den dator som angav var den befann sig.
Observera dock också att fjärranslutna transaktionshanterare finns inkapslade i alla spridningstoken, vilket gör dem större än motsvarande transaktionscookies från export-/importmodellen.
Fält
| Name | Description |
|---|---|
| PromoterTypeDtc |
Typen av distribuerad transaktionsprocessor. |
Metoder
| Name | Description |
|---|---|
| GetDtcTransaction(Transaction) |
Hämtar en IDtcTransaction instans som representerar en Transaction. |
| GetExportCookie(Transaction, Byte[]) |
Omvandlar ett transaktionsobjekt till en exporttransaktionscookie. |
| GetTransactionFromDtcTransaction(IDtcTransaction) |
Genererar en Transaction från en angiven IDtcTransaction. |
| GetTransactionFromExportCookie(Byte[]) |
Genererar en Transaction från angiven exportcookie. |
| GetTransactionFromTransmitterPropagationToken(Byte[]) |
Genererar en Transaction instans från den angivna spridningstoken för sändare. |
| GetTransmitterPropagationToken(Transaction) |
Genererar en spridningstoken för den angivna Transaction. |
| GetWhereabouts() |
Hämtar whereabouts för den distribuerade transaktionshanteraren som System.Transactions använder. |