Sdílet prostřednictvím


IEnlistmentNotification.Commit(Enlistment) Metoda

Definice

Oznámí zařazený objekt, že transakce je potvrzena.

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)

Parametry

enlistment
Enlistment

Objekt Enlistment slouží k odeslání odpovědi na správce transakcí.

Poznámky

Správce transakcí volá tuto metodu zařazení objektu během druhé fáze závazku, když dává pokyn všem účastníkům potvrzení transakce.

Správce prostředků by měl provést veškeré práce potřebné k dokončení transakce a poté informovat správce prostředků, že byla dokončena voláním Done metody parametru enlistment .

Pokud správce prostředků obsahuje trvale, ale nereaguje voláním Done metody, správce transakcí si není jistý, zda správce prostředků přijal Commit volání. Jako takový správce transakcí stále čeká na odpověď a udržuje informace relevantní pro tuto transakci. Pokud Done se nikdy nevolá, tato informace se uchovává po neomezenou dobu v paměti nebo v systémovém prostředku. To vede k tomu, že prostředky není možné uvolnit. V případě distribuované transakce by to mohlo nakonec zaplnit protokol MSDTC, který zastaví proces MSDTC. V případě transakce spravované nástrojem System.Transactionsto vede k postupnému a neustálému zvyšování spotřeby paměti procesem správce prostředků. Proto je velmi důležité, abyste volali metodu Done , jakmile správce prostředků dokončí práci na přípravě.

Platí pro