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 Transaktion, für die ein Commit ausgeführt werden kann.
public ref class CommittableTransaction sealed : System::Transactions::Transaction, IAsyncResult
public sealed class CommittableTransaction : System.Transactions.Transaction, IAsyncResult
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public sealed class CommittableTransaction : System.Transactions.Transaction, IAsyncResult
[System.Serializable]
public sealed class CommittableTransaction : System.Transactions.Transaction, IAsyncResult
type CommittableTransaction = class
inherit Transaction
interface IAsyncResult
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
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 ermöglicht es Anwendungen, Transaktionen explizit zu verwenden, anstatt die TransactionScope-Klasse implizit zu verwenden. Im Unterschied zur TransactionScope-Klasse muss der Autor der Anwendung die Commit-Methode bzw. die Rollback-Methode aufrufen, um einen Commit der Transaktion auszuführen oder um sie abzubrechen. Allerdings kann nur der Ersteller einer Transaktion ein Commit für die Transaktion ausführen. Daher sind Kopien einer commitfähigen Transaktion, die über die Transaction.Clone -Methode abgerufen wurde, 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 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 mithilfe des Transaktionsbereichs .
Beim Erstellen einer CommittableTransaction wird nicht automatisch die Ambient-Transaktion festgelegt, d. h. die Transaktion, in der Ihr Code ausgeführt wird. Sie können die Ambient-Transaktion abrufen oder festlegen, indem Sie die statische Transaction.Current Eigenschaft des globalen Transaction Objekts aufrufen. Weitere Informationen zu Ambient-Transaktionen finden Sie im Abschnitt "Verwalten des Transaktionsflusses mit TransactionScopeOption" des Themas Implementieren einer impliziten Transaktion mithilfe des Transaktionsbereichs . Wenn die Ambient-Transaktion nicht festgelegt ist, ist jeder Vorgang für einen Ressourcen-Manager nicht Teil dieser Transaktion. Sie müssen die Ambient-Transaktion explizit festlegen und zurücksetzen, um sicherzustellen, dass Ressourcenmanager unter dem richtigen Transaktionskontext arbeiten.
Bis ein CommittableTransaction Commit ausgeführt wurde, sind alle Ressourcen, die an der Transaktion beteiligt sind, weiterhin gesperrt.
Ein CommittableTransaction-Objekt kann nicht wiederverwendet werden. Nachdem ein Commit ausgeführt oder ein Rollback ausgeführt wurde, kann es nicht mehr in einer Transaktion verwendet oder als aktueller Umgebungstransaktionskontext festgelegt werden.
Konstruktoren
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
IsolationLevel |
Ruft die Isolationsstufe der Transaktion ab. (Geerbt von Transaction) |
PromoterType |
Bestimmt eindeutig das Format des von der "Promote"-Methode zurückgegebenen |
TransactionInformation |
Ruft zusätzliche Informationen zu einer Transaktion ab. (Geerbt von Transaction) |
Methoden
BeginCommit(AsyncCallback, Object) |
Versucht, einen asynchronen Commit für die Transaktion auszuführen. |
Clone() |
Erstellt einen Klon der Transaktion. (Geerbt von Transaction) |
Commit() |
Versucht, einen Commit für die Transaktion auszuführen. |
DependentClone(DependentCloneOption) |
Erstellt einen abhängigen Klon der Transaktion. (Geerbt von Transaction) |
Dispose() |
Gibt alle vom Objekt reservierten Ressourcen frei. (Geerbt von Transaction) |
EndCommit(IAsyncResult) |
Beendet einen Versuch, einen asynchronen Commit für die Transaktion auszuführen. |
EnlistDurable(Guid, IEnlistmentNotification, EnlistmentOptions) |
Trägt einen permanenten Ressourcen-Manager ein, der das Zwei-Phasen-Commit unterstützt und an einer Transaktion beteiligt sein soll. (Geerbt von Transaction) |
EnlistDurable(Guid, ISinglePhaseNotification, EnlistmentOptions) |
Trägt einen permanenten Ressourcen-Manager ein, der das Optimieren eines Ein-Phasen-Commits unterstützt und an einer Transaktion beteiligt sein soll. (Geerbt von Transaction) |
EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification, Guid) |
Trägt einen Ressourcen-Manager mit einer internen Transaktion mithilfe einer heraufstufbaren Einphaseneintragung (PSPE) ein. (Geerbt von Transaction) |
EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification) |
Trägt einen Ressourcen-Manager mit einer internen Transaktion mithilfe einer heraufstufbaren Einphaseneintragung (PSPE) ein. (Geerbt von Transaction) |
EnlistVolatile(IEnlistmentNotification, EnlistmentOptions) |
Trägt einen flüchtigen Ressourcen-Manager, der den Zweiphasencommit zur Teilnahme an einer Transaktion unterstützt, in die Liste ein. (Geerbt von Transaction) |
EnlistVolatile(ISinglePhaseNotification, EnlistmentOptions) |
Trägt einen flüchtigen Ressourcen-Manager ein, der das Optimieren eines Ein-Phasen-Commits unterstützt und an einer Transaktion beteiligt sein soll. (Geerbt von Transaction) |
Equals(Object) |
Bestimmt, ob diese Transaktion und das angegebene Objekt übereinstimmen. (Geerbt von Transaction) |
GetHashCode() |
Gibt den Hashcode für diese Instanz zurück. (Geerbt von Transaction) |
GetPromotedToken() |
Ruft den ab, der |
GetType() |
Ruft den Type der aktuellen Instanz ab. (Geerbt von Object) |
MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
PromoteAndEnlistDurable(Guid, IPromotableSinglePhaseNotification, ISinglePhaseNotification, EnlistmentOptions) |
Stuft einen permanenten Ressourcen-Manager höher, der das Zwei-Phasen-Commit unterstützt und an einer Transaktion beteiligt sein soll, oder trägt diesen ein. (Geerbt von Transaction) |
Rollback() |
Führt einen Rollback für die Transaktion aus (bricht diese ab). (Geerbt von Transaction) |
Rollback(Exception) |
Führt einen Rollback für die Transaktion aus (bricht diese ab). (Geerbt von Transaction) |
SetDistributedTransactionIdentifier(IPromotableSinglePhaseNotification, Guid) |
Legt den Bezeichner der verteilten Transaktion fest, der vom Nicht-MSDTC-Promoter generiert wird. (Geerbt von Transaction) |
ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |
Ereignisse
TransactionCompleted |
Gibt an, dass die Transaktion abgeschlossen ist. (Geerbt von Transaction) |
Explizite Schnittstellenimplementierungen
IAsyncResult.AsyncState |
Ruft das Objekt ab, das als letzter Parameter des BeginCommit(AsyncCallback, Object)-Methodenaufrufs bereitgestellt wurde. |
IAsyncResult.AsyncWaitHandle |
Ruft einen WaitHandle ab, der verwendet wird, um auf den Abschluss eines asynchronen Vorgangs zu warten. |
IAsyncResult.CompletedSynchronously |
Ruft eine Angabe darüber ab, ob der asynchrone Commitvorgang synchron abgeschlossen wurde. |
IAsyncResult.IsCompleted |
Ruft eine Angabe darüber ab, ob der asynchrone Commitvorgang abgeschlossen wurde. |
ISerializable.GetObjectData(SerializationInfo, StreamingContext) |
Ruft SerializationInfo mit den Daten ab, die für das Serialisieren dieser Transaktion erforderlich sind. (Geerbt von Transaction) |
Gilt für:
Threadsicherheit
Dieser Typ ist threadsicher.