IEnlistmentNotification.Commit(Enlistment) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Notifica um objeto inscrito de que uma transação está sendo confirmada.
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 objeto Enlistment usado para enviar uma resposta ao gerenciador de transação.
Comentários
O gerenciador de transações chama esse método de um objeto inscrito durante a segunda fase de um compromisso, quando instrui todos os participantes a confirmar a transação.
O gerenciador de recursos deve executar qualquer trabalho necessário para concluir a transação e informar à TM que ela foi concluída chamando o Done método no enlistment
parâmetro.
Se o gerenciador de recursos tiver se inscrito de forma durável, mas não responder pelo método de chamada Done , o gerenciador de transações não terá certeza de que o gerenciador de recursos recebeu a Commit chamada. Dessa forma, o gerenciador de transações continua aguardando uma resposta e mantém informações relevantes para essa transação. Se Done nunca for chamada, essa informação será mantida indefinidamente na memória ou em um recurso de todo o sistema. Isso resulta em recursos que não podem ser recuperados. No caso de uma transação distribuída, isso pode, eventualmente, preencher o log do MSDTC que interrompe o processo MSDTC. No caso de uma transação gerenciada por System.Transactions, isso resulta em um aumento gradual e contínuo no consumo de memória do processo do gerenciador de recursos. Portanto, é crucial que você chame o método assim que o Done gerenciador de recursos terminar seu trabalho de preparação.