IEnlistmentNotification.Commit(Enlistment) Metod

Definition

Meddelar ett listat objekt att en transaktion checkas in.

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)

Parametrar

enlistment
Enlistment

Ett Enlistment objekt som används för att skicka ett svar till transaktionshanteraren.

Kommentarer

Transaktionshanteraren anropar den här metoden för ett listat objekt under den andra fasen av ett åtagande, när den instruerar alla deltagare att genomföra transaktionen.

Resurshanteraren bör utföra allt arbete som krävs för att slutföra transaktionen och sedan informera TM:en om att den har slutförts genom att anropa Done metoden på parametern enlistment .

Om resurshanteraren har registrerat sig på rätt sätt, men inte svarar med anropande Done metod, är transaktionshanteraren osäker på att resurshanteraren har tagit emot anropet Commit . Därför väntar transaktionshanteraren på ett svar och underhåller information som är relevant för den här transaktionen. Om Done det aldrig anropas sparas den här informationen på obestämd tid i minnet eller i en systemomfattande resurs. Detta resulterar i att resurser inte kan frigöras. När det gäller en distribuerad transaktion kan detta så småningom fylla MSDTC-loggen, vilket stoppar MSDTC-processen. När det gäller en transaktion som hanteras av System.Transactionsresulterar detta i en gradvis och kontinuerlig ökning av minnesförbrukningen för resurshanterarens process. Därför är det viktigt att du anropar Done metoden när resurshanteraren är klar med ditt förberedelsearbete.

Gäller för