IEnlistmentNotification.Commit(Enlistment) Methode

Definitie

Hiermee wordt een in een lijst geplaatst object aangegeven dat een transactie wordt doorgevoerd.

public:
 void Commit(System::Transactions::Enlistment ^ enlistment);
public void Commit(System.Transactions.Enlistment enlistment);
abstract member Commit : System.Transactions.Enlistment -> unit
Public Sub Commit (enlistment As Enlistment)

Parameters

enlistment
Enlistment

Een Enlistment object dat wordt gebruikt om een antwoord naar de transactiebeheerder te verzenden.

Opmerkingen

De transactiebeheerder roept deze methode aan van een opgenomen object tijdens de tweede fase van een toezegging, wanneer alle deelnemers opdracht geven om de transactie door te voeren.

De Resource Manager moet alle benodigde werkzaamheden uitvoeren om de transactie te voltooien en de TM vervolgens informeren dat deze is voltooid door de Done methode aan te roepen voor de enlistment parameter.

Als de resourcemanager duurzaam is ingeschreven, maar niet reageert door de aanroepmethode Done , weet de transactiebeheerder niet zeker dat de resourcemanager de Commit aanroep heeft ontvangen. Als zodanig blijft de transactiebeheerder wachten op een reactie en onderhoudt de informatie die relevant is voor deze transactie. Als Done dit nooit wordt aangeroepen, wordt dit stukje informatie voor onbepaalde tijd in het geheugen of in een systeembrede resource bewaard. Dit leidt ertoe dat resources niet kunnen worden vrijgemaakt. In het geval van een gedistribueerde transactie kan dit uiteindelijk het MSDTC-logboek vullen, waardoor het MSDTC-proces wordt gestopt. In het geval van een transactie die wordt beheerd door System.Transactions, resulteert dit in een geleidelijke en continue toename van het geheugenverbruik van het proces van resourcemanager. Daarom is het van cruciaal belang dat u de Done methode aanroept zodra uw resourcemanager klaar is met uw voorbereidingswerk.

Van toepassing op