CommittableTransaction 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.
Beskriver en transaktion som kan checkas in.
public ref class CommittableTransaction sealed : System::Transactions::Transaction, IAsyncResult
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public sealed class CommittableTransaction : System.Transactions.Transaction, IAsyncResult
public sealed class CommittableTransaction : System.Transactions.Transaction, IAsyncResult
[System.Serializable]
public sealed class CommittableTransaction : System.Transactions.Transaction, IAsyncResult
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
type CommittableTransaction = class
inherit Transaction
interface IAsyncResult
type CommittableTransaction = class
inherit Transaction
interface IAsyncResult
[<System.Serializable>]
type CommittableTransaction = class
inherit Transaction
interface IAsyncResult
Public NotInheritable Class CommittableTransaction
Inherits Transaction
Implements IAsyncResult
- Arv
- Attribut
- Implementeringar
Kommentarer
Klassen CommittableTransaction ger ett explicit sätt för program att använda en transaktion, i stället för att använda TransactionScope klassen implicit.
TransactionScope Till skillnad från klassen måste programskrivaren specifikt anropa Commit metoderna och Rollback för att genomföra eller avbryta transaktionen. Det är dock bara den som skapar en transaktion som kan checka in transaktionen. Därför går det inte att checka in kopior av en transaktion som kan genomföras via Transaction.Clone metoden.
Note
Vi rekommenderar att du skapar implicita transaktioner med hjälp av TransactionScope klassen, så att den omgivande transaktionskontexten hanteras automatiskt åt dig. Du bör också använda klasserna TransactionScope och DependentTransaction för program som kräver användning av samma transaktion i flera funktionsanrop eller flera trådanrop. Mer information om den här modellen finns i avsnittet Implementera en implicit transaktion med transaktionsomfång .
Att skapa en CommittableTransaction anger inte automatiskt den omgivande transaktionen, vilket är den transaktion som koden körs i. Du kan hämta eller ange den omgivande transaktionen genom att anropa den statiska Transaction.Current egenskapen för det globala Transaction objektet. Mer information om omgivande transaktioner finns i avsnittet "Hantera transaktionsflöde med TransactionScopeOption" i avsnittet Implementera en implicit transaktion med transaktionsomfång . Om den omgivande transaktionen inte har angetts är en åtgärd på en resurshanterare inte en del av den transaktionen. Du måste uttryckligen ange och återställa den omgivande transaktionen för att säkerställa att resurshanterna fungerar under rätt transaktionskontext.
Tills en CommittableTransaction har checkats in är alla resurser som ingår i transaktionen fortfarande låsta.
Det går inte att återanvända ett CommittableTransaction objekt. När den har checkats in eller återställts kan den inte användas igen i en transaktion eller anges som den aktuella omgivande transaktionskontexten.
Konstruktorer
| Name | Description |
|---|---|
| CommittableTransaction() |
Initierar en ny instans av CommittableTransaction klassen. |
| CommittableTransaction(TimeSpan) |
Initierar en ny instans av CommittableTransaction klassen med det angivna |
| CommittableTransaction(TransactionOptions) |
Initierar en ny instans av CommittableTransaction klassen med de angivna transaktionsalternativen. |
Egenskaper
| Name | Description |
|---|---|
| IsolationLevel |
Hämtar transaktionens isoleringsnivå. (Ärvd från Transaction) |
| PromoterType |
Identifierar unikt formatet för det |
| TransactionInformation |
Hämtar ytterligare information om en transaktion. (Ärvd från Transaction) |
Metoder
| Name | Description |
|---|---|
| BeginCommit(AsyncCallback, Object) |
Påbörjar ett försök att checka in transaktionen asynkront. |
| Clone() |
Skapar en klon av transaktionen. (Ärvd från Transaction) |
| Commit() |
Försöker checka in transaktionen. |
| DependentClone(DependentCloneOption) |
Skapar en beroende klon av transaktionen. (Ärvd från Transaction) |
| Dispose() |
Frigör de resurser som innehas av objektet. (Ärvd från Transaction) |
| EndCommit(IAsyncResult) |
Avslutar ett försök att checka in transaktionen asynkront. |
| EnlistDurable(Guid, IEnlistmentNotification, EnlistmentOptions) |
Enlists a durable resource manager that supports two phase commit to participate in a transaction. (Ärvd från Transaction) |
| EnlistDurable(Guid, ISinglePhaseNotification, EnlistmentOptions) |
Enlists a durable resource manager that supports single phase commit optimization to participate in a transaction. (Ärvd från Transaction) |
| EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification, Guid) |
Enlists a resource manager that has an internal transaction using a promotable single phase enlistment (PSPE). (Ärvd från Transaction) |
| EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification) |
Enlists a resource manager that has an internal transaction using a promotable single phase enlistment (PSPE). (Ärvd från Transaction) |
| EnlistVolatile(IEnlistmentNotification, EnlistmentOptions) |
Enlists a volatile resource manager that supports two phase commit to participate in a transaction. (Ärvd från Transaction) |
| EnlistVolatile(ISinglePhaseNotification, EnlistmentOptions) |
Enlists a volatile resource manager that supports single phase commit optimization to participate in a transaction. (Ärvd från Transaction) |
| Equals(Object) |
Avgör om den här transaktionen och det angivna objektet är lika. (Ärvd från Transaction) |
| GetHashCode() |
Returnerar hash-koden för den här instansen. (Ärvd från Transaction) |
| GetPromotedToken() |
Hämtar den |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| PromoteAndEnlistDurable(Guid, IPromotableSinglePhaseNotification, ISinglePhaseNotification, EnlistmentOptions) |
Höjer upp och registrerar en beständig resurshanterare som stöder två faser för att delta i en transaktion. (Ärvd från Transaction) |
| Rollback() |
Återställer (avbryter) transaktionen. (Ärvd från Transaction) |
| Rollback(Exception) |
Återställer (avbryter) transaktionen. (Ärvd från Transaction) |
| SetDistributedTransactionIdentifier(IPromotableSinglePhaseNotification, Guid) |
Anger den distribuerade transaktionsidentifieraren som genereras av den icke-MSDTC-arrangören. (Ärvd från Transaction) |
| ToString() |
Returnerar en sträng som representerar det aktuella objektet. (Ärvd från Object) |
Händelser
| Name | Description |
|---|---|
| TransactionCompleted |
Anger att transaktionen har slutförts. (Ärvd från Transaction) |
Explicita gränssnittsimplementeringar
| Name | Description |
|---|---|
| IAsyncResult.AsyncState |
Hämtar det angivna objektet som den sista parametern för metodanropet BeginCommit(AsyncCallback, Object) . |
| IAsyncResult.AsyncWaitHandle |
Hämtar en WaitHandle som används för att vänta tills en asynkron åtgärd har slutförts. |
| IAsyncResult.CompletedSynchronously |
Hämtar en indikation på om den asynkrona incheckningsåtgärden slutfördes synkront. |
| IAsyncResult.IsCompleted |
Hämtar en indikation på om den asynkrona incheckningsåtgärden har slutförts. |
| ISerializable.GetObjectData(SerializationInfo, StreamingContext) |
Hämtar en SerializationInfo med de data som krävs för att serialisera den här transaktionen. (Ärvd från Transaction) |
Gäller för
Trådsäkerhet
Den här typen är trådsäker.