IEnlistmentNotification.Prepare(PreparingEnlistment) Metod

Definition

Meddelar ett listat objekt att en transaktion förbereds för åtagande.

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)

Parametrar

preparingEnlistment
PreparingEnlistment

Ett PreparingEnlistment objekt som används för att skicka ett svar till transaktionshanteraren.

Kommentarer

Transaktionshanteraren anropar den här metoden för en listad resurshanterare under fas 1 av ett åtagande, när den frågar deltagarna om de kan genomföra transaktionen.

När du implementerar en beständig resurshanterare bör du logga din förberedelsepost under den här fasen. Posten bör innehålla all nödvändig information för att utföra återställningen. Detta inkluderar egenskapen RecoveryInformation() som skickas till transaktionshanteraren i metoden under återställningen Reenlist . Mer information om återställning finns i Utföra återställning.

Resurshanteraren bör slutföra allt arbete som måste slutföras innan du anropar Prepared parametermetoden preparingEnlistment för att ange dess röst för åtagande. Du bör se till att detta görs innan du får något fas 2-meddelande, till exempel incheckning, återställning eller tvivel. Det beror på att fas 2-meddelanden kan ske infogade i samma tråd som anropade Prepared metoden i fas 1. Därför bör du inte utföra något arbete efter anropet Prepared (till exempel frigöra lås) som du förväntar dig att ha slutfört innan du tar emot fas 2-meddelandena.

Du kan också anropa parametermetoden preparingEnlistment för att ange en röst för återställning.

Om du vill att objektet bara ska observera och reagera på förloppet för transaktionen, utan att delta i den, bör implementeringen av den här metoden anropa Done parameterns preparingEnlistment metod när den har slutfört sitt arbete. På så sätt skulle resurshanteraren inte få något fas 2-meddelande.

Gäller för