IEnlistmentNotification.Commit(Enlistment) Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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.