IEnlistmentNotification.Commit(Enlistment) Método

Definição

Notifica um objeto alistado de que uma transação está a ser realizada.

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)

Parâmetros

enlistment
Enlistment

Um Enlistment objeto usado para enviar uma resposta ao gestor de transações.

Observações

O gestor de transações chama este método de objeto enlisted durante a segunda fase de um compromisso, quando instrui todos os participantes a comprometerem a transação.

O gestor de recursos deve realizar o trabalho necessário para terminar a transação e depois informar a TM de que terminou, chamando o Done método no enlistment parâmetro.

Se o gestor de recursos se alistou de forma duradoura, mas não responde através do método de chamada Done , o gestor de transações não tem a certeza de que o gestor de recursos recebeu a Commit chamada. Assim, o gestor de transações mantém-se à espera de uma resposta e mantém informações relevantes para essa transação. Se Done nunca for chamado, esta informação é mantida indefinidamente na memória ou num recurso a nível do sistema. Isto faz com que os recursos não possam ser recuperados. No caso de uma transação distribuída, isto poderia eventualmente preencher o registo MSDTC, o que interrompe o processo MSDTC. No caso de uma transação gerida por System.Transactions, isto resulta num aumento gradual e contínuo do consumo de memória do processo do gestor de recursos. Por isso, é crucial que contacte o Done processo assim que o seu gestor de recursos terminar o seu trabalho de preparação.

Aplica-se a