TransactionInterop Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Vereenvoudigt de interactie tussen System.Transactions en onderdelen die eerder zijn geschreven om te communiceren met MSDTC, COM+of System.EnterpriseServices. Deze klasse kan niet worden overgenomen.
public ref class TransactionInterop abstract sealed
public static class TransactionInterop
type TransactionInterop = class
Public Class TransactionInterop
- Overname
-
TransactionInterop
Opmerkingen
Deze klasse biedt methoden voor transactiedoorgifte. Zie Transactiedoorgifte voor meer informatie over hoe dit proces werkt.
Met behulp van de methoden van deze klasse kunt u twee typen transactiedoorgifte, Export/Import (pushmodel) en Zender/Ontvanger (pull-model) uitvoeren.
De doorgifte van het export-/importmodel (pushmodel) omvat de volgende stappen:
Haal op de externe computer de 'whereabouts' op van de transactiebeheerder van die machine door de methode aan te GetWhereabouts roepen. U kunt dit stukje informatie vervolgens opslaan op de clientcomputer voor toekomstig gebruik.
Verzend de gegevens met de verblijfsgegevens naar de clientcomputer met behulp van een voorkeursmethode.
Gebruik op de clientcomputer de verblijfsgegevens om de transactie naar de externe computer te exporteren en een transactie 'cookie' te genereren. Dit wordt gedaan door de locatie van de externe machine aan te roepen GetExportCookie en door te geven.
Verzend de gegevens met de transactie 'cookie' naar de externe computer met behulp van een voorkeursmethode.
Gebruik op de externe computer de transactie 'cookie' om een kloon van de clienttransactie te verkrijgen door de methode aan te GetTransactionFromExportCookie roepen.
Gebruik op de externe computer de kloontransactie om de resourcemanager in te schakelen met behulp van de EnlistVolatile of EnlistDurable methoden van de Transaction klasse.
De doorgifte van de zender/ontvanger (pull-model) omvat de volgende stappen:
Op de clientcomputer genereert het gebruik van de transactie een corresponderend 'doorgiftetoken' door aan te roepen GetTransmitterPropagationToken.
Verzend de gegevens met het 'doorgiftetoken' van de transactie naar de externe computer met behulp van een willekeurige voorkeursmethode.
Gebruik op de externe computer het 'doorgiftetoken' om een kloon van de clienttransactie te verkrijgen door xref:System.Transactions.TransactionInterop.GetTransactionFromTransactionFromTransmitterPropagationToken%2Aaan te roepen <.
Het zender-/ontvangermodel biedt betere prestaties in scenario's waarin het transactietoken naar een externe machine wordt verzonden, maar de externe machine mag het niet gebruiken om de transactie te verkrijgen. Dit komt doordat de transactie pas wordt doorgegeven wanneer GetTransactionFromTransmitterPropagationToken deze wordt aangeroepen. Een ander voordeel is dat het doorgiftetoken kan worden verzonden naar elke externe computer, terwijl de exportcookie alleen kan worden gebruikt op de computer waarop de verblijfsgegevens zijn opgegeven.
Houd er echter rekening mee dat de verblijfsgegevens van externe transactiebeheerders worden ingekapseld in alle doorgiftetokens, waardoor ze groter zijn dan de bijbehorende transactiecookies uit het export-/importmodel.
Velden
| Name | Description |
|---|---|
| PromoterTypeDtc |
Het type gedistribueerde transactieprocessor. |
Methoden
| Name | Description |
|---|---|
| GetDtcTransaction(Transaction) |
Hiermee haalt u een IDtcTransaction exemplaar op dat een Transaction. |
| GetExportCookie(Transaction, Byte[]) |
Hiermee transformeert u een transactieobject in een exporttransactiecooky. |
| GetTransactionFromDtcTransaction(IDtcTransaction) |
Genereert een Transaction van een opgegeven IDtcTransaction. |
| GetTransactionFromExportCookie(Byte[]) |
Hiermee genereert u een Transaction van de opgegeven exportcooky. |
| GetTransactionFromTransmitterPropagationToken(Byte[]) |
Hiermee wordt een Transaction exemplaar gegenereerd van het opgegeven doorgiftetoken van de zender. |
| GetTransmitterPropagationToken(Transaction) |
Hiermee genereert u een doorgiftetoken voor het opgegeven Transaction. |
| GetWhereabouts() |
Hiermee haalt u de verblijfsgegevens op van de gedistribueerde transactiebeheerder die System.Transactions gebruikmaakt. |