IEnlistmentNotification.Prepare(PreparingEnlistment) Método

Definição

Notifica o objeto alistado que uma transação está a ser preparada para compromisso.

public:
 void Prepare(System::Transactions::PreparingEnlistment ^ preparingEnlistment);
public void Prepare(System.Transactions.PreparingEnlistment preparingEnlistment);
abstract member Prepare : System.Transactions.PreparingEnlistment -> unit
Public Sub Prepare (preparingEnlistment As PreparingEnlistment)

Parâmetros

preparingEnlistment
PreparingEnlistment

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

Observações

O gestor de transações chama a este método gestor de recursos recrutado durante a fase 1 de um compromisso, quando pergunta aos participantes se podem comprometer a transação.

Ao implementar um gestor de recursos duradouro, deve registar o seu relatório de preparação nesta fase. O registo deve conter toda a informação necessária para realizar a recuperação. Isto inclui a RecoveryInformation() propriedade, que é passada para o gestor de transações no Reenlist método durante a recuperação. Para obter mais informações sobre recuperação, consulte Executando recuperação.

O seu gestor de recursos deve concluir todo o trabalho que deve ser concluído antes de chamar o Prepared método do preparingEnlistment parâmetro para indicar o seu voto a favor do compromisso. Deve certificar-se de que isto está feito antes de receber qualquer notificação da fase 2, como comprometer, reverter ou em caso de dúvida. Isto deve-se ao facto de as notificações da fase 2 poderem acontecer em linha no mesmo tópico que chamou o Prepared método na fase 1. Como tal, você não deve fazer nenhum trabalho após a Prepared chamada (por exemplo, liberar bloqueios) que você esperaria ter concluído antes de receber as notificações da fase 2.

Também pode chamar o método do preparingEnlistment parâmetro para indicar um voto a favor do rollback.

Se quiser que o objeto apenas observe e reaja ao progresso da transação, sem participar nela, a sua implementação deste método deve chamar o Done método do preparingEnlistment parâmetro quando este terminar o seu trabalho. Ao fazê-lo, o seu gestor de recursos não receberia nenhuma notificação da fase 2.

Aplica-se a