CommittableTransaction Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Beschreibt eine Committable-Transaktion.
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
- Vererbung
- Attribute
- Implementiert
Hinweise
Die CommittableTransaction Klasse bietet eine explizite Möglichkeit für Anwendungen, eine Transaktion zu verwenden, im Gegensatz zur impliziten Verwendung der TransactionScope Klasse. Im Gegensatz zu der TransactionScope-Klasse muss der Anwendungsentwickler die Commit- und Rollback-Methoden speziell aufrufen, um die Transaktion abzuschließen oder abzubrechen. Allerdings kann nur der Ersteller einer Transaktion die Transaktion übernehmen. Daher sind Kopien einer committable-Transaktion, die über die Transaction.Clone Methode abgerufen wird, nicht commitfähig.
Hinweis
Es wird empfohlen, implizite Transaktionen mithilfe der TransactionScope Klasse zu erstellen, damit der Umgebungstransaktionskontext automatisch für Sie verwaltet wird. Sie sollten auch die TransactionScope Klassen und DependentTransaction Klassen für Anwendungen verwenden, die die Verwendung derselben Transaktion über mehrere Funktionsaufrufe oder mehrere Threadaufrufe erfordern. Weitere Informationen zu diesem Modell finden Sie im Thema "Implementieren einer impliziten Transaktion mit Transaktionsbereich ".
Durch das Erstellen einer Umgebungstransaktion CommittableTransaction wird die Umgebungstransaktion nicht automatisch festgelegt. Dabei handelt es sich um die Transaktion, in der ihr Code ausgeführt wird. Sie können die Umgebungstransaktion abrufen oder festlegen, indem Sie die statische Transaction.Current Eigenschaft des globalen Transaction Objekts aufrufen. Weitere Informationen zu Ambient-Transaktionen finden Sie im Abschnitt "Managing Transaction Flow using TransactionScopeOption" (Managing Transaction Flow using TransactionScopeOption) des Themas "Implementieren einer impliziten Transaktion mit Transaktionsbereich ". Wenn die Umgebungstransaktion nicht festgelegt ist, ist kein Vorgang für einen Ressourcen-Manager Teil dieser Transaktion. Sie müssen die Umgebungstransaktion explizit festlegen und zurücksetzen, um sicherzustellen, dass Ressourcenmanager unter dem richtigen Transaktionskontext arbeiten.
Bis zu einem CommittableTransaction Commit sind alle ressourcen, die mit der Transaktion verbunden sind, weiterhin gesperrt.
Ein CommittableTransaction Objekt kann nicht wiederverwendet werden. Nachdem es zugesichert oder zurückgesetzt wurde, kann es nicht mehr in einer Transaktion verwendet oder als aktueller Umgebungstransaktionskontext festgelegt werden.
Konstruktoren
| Name | Beschreibung |
|---|---|
| CommittableTransaction() |
Initialisiert eine neue Instanz der CommittableTransaction-Klasse. |
| CommittableTransaction(TimeSpan) |
Initialisiert eine neue Instanz der CommittableTransaction Klasse mit dem angegebenen |
| CommittableTransaction(TransactionOptions) |
Initialisiert eine neue Instanz der CommittableTransaction Klasse mit den angegebenen Transaktionsoptionen. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| IsolationLevel |
Ruft die Isolationsebene der Transaktion ab. (Geerbt von Transaction) |
| PromoterType |
Identifiziert das Format des |
| TransactionInformation |
Ruft zusätzliche Informationen zu einer Transaktion ab. (Geerbt von Transaction) |
Methoden
| Name | Beschreibung |
|---|---|
| BeginCommit(AsyncCallback, Object) |
Startet einen Versuch, die Transaktion asynchron zu übernehmen. |
| Clone() |
Erstellt einen Klon der Transaktion. (Geerbt von Transaction) |
| Commit() |
Versucht, die Transaktion zu übernehmen. |
| DependentClone(DependentCloneOption) |
Erstellt einen abhängigen Klon der Transaktion. (Geerbt von Transaction) |
| Dispose() |
Gibt die Ressourcen frei, die vom Objekt gehalten werden. (Geerbt von Transaction) |
| EndCommit(IAsyncResult) |
Beendet einen Versuch, die Transaktion asynchron zu übernehmen. |
| EnlistDurable(Guid, IEnlistmentNotification, EnlistmentOptions) |
Enlists a durable resource manager that supports two phase commit to part in a transaction. (Geerbt von Transaction) |
| EnlistDurable(Guid, ISinglePhaseNotification, EnlistmentOptions) |
Enlists a durable resource manager that supports single phase commit optimization to part in a transaction. (Geerbt von Transaction) |
| EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification, Guid) |
Enlists a resource manager that has an internal transaction using a promotable single phase enlistment (PSPE). (Geerbt von Transaction) |
| EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification) |
Enlists a resource manager that has an internal transaction using a promotable single phase enlistment (PSPE). (Geerbt von Transaction) |
| EnlistVolatile(IEnlistmentNotification, EnlistmentOptions) |
Enlists a volatile resource manager that supports two phase commit to part in a transaction. (Geerbt von Transaction) |
| EnlistVolatile(ISinglePhaseNotification, EnlistmentOptions) |
Enlists a volatile resource manager that supports single phase commit optimization to part in a transaction. (Geerbt von Transaction) |
| Equals(Object) |
Bestimmt, ob diese Transaktion und das angegebene Objekt gleich sind. (Geerbt von Transaction) |
| GetHashCode() |
Gibt den Hashcode für diese Instanz zurück. (Geerbt von Transaction) |
| GetPromotedToken() |
Ruft die |
| GetType() |
Ruft die Type der aktuellen Instanz ab. (Geerbt von Object) |
| MemberwiseClone() |
Erstellt eine flache Kopie der aktuellen Object. (Geerbt von Object) |
| PromoteAndEnlistDurable(Guid, IPromotableSinglePhaseNotification, ISinglePhaseNotification, EnlistmentOptions) |
Fördert und listet einen dauerhaften Ressourcenmanager auf, der zwei Phasen-Commit für die Teilnahme an einer Transaktion unterstützt. (Geerbt von Transaction) |
| Rollback() |
Rollback (Abgebrochen) die Transaktion zurück. (Geerbt von Transaction) |
| Rollback(Exception) |
Rollback (Abgebrochen) die Transaktion zurück. (Geerbt von Transaction) |
| SetDistributedTransactionIdentifier(IPromotableSinglePhaseNotification, Guid) |
Legt den vom Nicht-MSDTC-Promoter generierten verteilten Transaktionsbezeichner fest. (Geerbt von Transaction) |
| ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |
Ereignisse
| Name | Beschreibung |
|---|---|
| TransactionCompleted |
Gibt an, dass die Transaktion abgeschlossen ist. (Geerbt von Transaction) |
Explizite Schnittstellenimplementierungen
| Name | Beschreibung |
|---|---|
| IAsyncResult.AsyncState |
Ruft das objekt ab, das als letzter Parameter des BeginCommit(AsyncCallback, Object) Methodenaufrufs bereitgestellt wird. |
| IAsyncResult.AsyncWaitHandle |
Ruft ein WaitHandle , das verwendet wird, um auf den Abschluss eines asynchronen Vorgangs zu warten. |
| IAsyncResult.CompletedSynchronously |
Ruft einen Hinweis darauf ab, ob der asynchrone Commit-Vorgang synchron abgeschlossen wurde. |
| IAsyncResult.IsCompleted |
Ruft einen Hinweis darauf ab, ob der asynchrone Commit-Vorgang abgeschlossen ist. |
| ISerializable.GetObjectData(SerializationInfo, StreamingContext) |
Ruft einen SerializationInfo mit den Daten ab, die zum Serialisieren dieser Transaktion erforderlich sind. (Geerbt von Transaction) |
Gilt für:
Threadsicherheit
Dieser Typ ist threadsicher.