Partager via


IEnlistmentNotification.Commit(Enlistment) Méthode

Définition

Avertit un objet inscrit qu'une transaction est en cours de validation.

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)

Paramètres

enlistment
Enlistment

Objet Enlistment utilisé pour envoyer une réponse au gestionnaire de transactions.

Remarques

Le gestionnaire de transactions appelle cette méthode d’un objet inscrit pendant la deuxième phase d’un engagement, lorsqu’il demande à tous les participants de valider la transaction.

Le gestionnaire de ressources doit effectuer tout le travail nécessaire pour terminer la transaction, puis informer la tm qu’elle a terminé en appelant la Done méthode sur le enlistment paramètre.

Si le gestionnaire de ressources s’est inscrit durablement, mais ne répond pas en appelant Done la méthode, le gestionnaire de transactions n’est pas sûr que le gestionnaire de ressources a reçu l’appel Commit . Par conséquent, le gestionnaire de transactions attend toujours une réponse et conserve les informations pertinentes pour cette transaction. Si Done n’est jamais appelé, cette information est conservée indéfiniment en mémoire ou dans une ressource à l’échelle du système. Il en résulte que les ressources ne peuvent pas être récupérées. Dans le cas d’une transaction distribuée, cela peut éventuellement remplir le journal MSDTC, ce qui arrête le processus MSDTC. Dans le cas d’une transaction gérée par System.Transactions, cela entraîne une augmentation progressive et continue de la consommation de mémoire du processus du gestionnaire de ressources. Par conséquent, il est essentiel d’appeler la Done méthode une fois que votre gestionnaire de ressources a terminé votre travail de préparation.

S’applique à