Enlistment Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Underlättar kommunikationen mellan en registrerad transaktionsdeltagare och transaktionshanteraren under den sista fasen av transaktionen.
public ref class Enlistment
public class Enlistment
type Enlistment = class
Public Class Enlistment
- Arv
-
Enlistment
- Härledda
Exempel
I följande exempel visas en implementering av IEnlistmentNotification gränssnittet och när Done metoden ska anropas.
class myEnlistmentClass : IEnlistmentNotification
{
public void Prepare(PreparingEnlistment preparingEnlistment)
{
Console.WriteLine("Prepare notification received");
//Perform transactional work
//If work finished correctly, reply prepared
preparingEnlistment.Prepared();
// otherwise, do a ForceRollback
preparingEnlistment.ForceRollback();
}
public void Commit(Enlistment enlistment)
{
Console.WriteLine("Commit notification received");
//Do any work necessary when commit notification is received
//Declare done on the enlistment
enlistment.Done();
}
public void Rollback(Enlistment enlistment)
{
Console.WriteLine("Rollback notification received");
//Do any work necessary when rollback notification is received
//Declare done on the enlistment
enlistment.Done();
}
public void InDoubt(Enlistment enlistment)
{
Console.WriteLine("In doubt notification received");
//Do any work necessary when indout notification is received
//Declare done on the enlistment
enlistment.Done();
}
}
Public Class EnlistmentClass
Implements IEnlistmentNotification
Public Sub Prepare(ByVal myPreparingEnlistment As PreparingEnlistment) Implements System.Transactions.IEnlistmentNotification.Prepare
Console.WriteLine("Prepare notification received")
'Perform transactional work
'If work finished correctly, reply with prepared
myPreparingEnlistment.Prepared()
End Sub
Public Sub Commit(ByVal myEnlistment As Enlistment) Implements System.Transactions.IEnlistmentNotification.Commit
Console.WriteLine("Commit notification received")
'Do any work necessary when commit notification is received
'Declare done on the enlistment
myEnlistment.Done()
End Sub
Public Sub Rollback(ByVal myEnlistment As Enlistment) Implements System.Transactions.IEnlistmentNotification.Rollback
Console.WriteLine("Rollback notification received")
'Do any work necessary when rollback notification is received
'Declare done on the enlistment
myEnlistment.Done()
End Sub
Public Sub InDoubt(ByVal myEnlistment As Enlistment) Implements System.Transactions.IEnlistmentNotification.InDoubt
Console.WriteLine("In doubt notification received")
'Do any work necessary when indout notification is received
'Declare done on the enlistment
myEnlistment.Done()
End Sub
End Class
Kommentarer
EnlistVolatile När objektets metoder EnlistDurable och Transaction anropas för att registrera en deltagare i en transaktion returnerar de det här objektet som beskriver enlistningen.
Under den sista fasen av transaktionsincheckningen skickar transaktionshanteraren det här objektet till en resurshanterare som implementerar IEnlistmentNotification gränssnittet som har registrerats i en transaktion. Mer specifikt anropar transaktionshanteraren antingen CommitRollback eller -metoden för deltagaren, beroende på om den senare har beslutat att checka in eller återställa transaktionen. Deltagaren bör anropa Done metoden för det här objektet för att låta transaktionshanteraren veta att den har slutfört sitt arbete.
En registrering kan anropa Done metoden när som helst innan den anropas Prepared i förberedelsefasen. Genom att göra det lägger värnplikten en skrivskyddad röst, vilket innebär att den röstar för transaktionen men inte behöver få det slutliga resultatet. Observera att när Done metoden har anropats får den registrerade deltagaren inga ytterligare meddelanden från transaktionshanteraren.
Metoder
| Name | Description |
|---|---|
| Done() |
Anger att transaktionsdeltagaren har slutfört sitt arbete. |
| Equals(Object) |
Avgör om det angivna objektet är lika med det aktuella objektet. (Ärvd från Object) |
| GetHashCode() |
Fungerar som standard-hash-funktion. (Ärvd från Object) |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| ToString() |
Returnerar en sträng som representerar det aktuella objektet. (Ärvd från Object) |
Gäller för
Trådsäkerhet
Den här typen är trådsäker.