Freigeben über


Transaction-Klasse

Eine Transaktion stellt sicher, dass Änderungen, die im Speicher vorgenommen wurden, als Gruppe behandelt werden, auf die ein Commit oder Rollback ausgeführt werden kann.

Vererbungshierarchie

System.Object
  System.MarshalByRefObject
    Microsoft.VisualStudio.Modeling.Transaction

Namespace:  Microsoft.VisualStudio.Modeling
Assembly:  Microsoft.VisualStudio.Modeling.Sdk.12.0 (in Microsoft.VisualStudio.Modeling.Sdk.12.0.dll)

Syntax

'Declaration
Public Class Transaction _
    Inherits MarshalByRefObject _
    Implements IDisposable
public class Transaction : MarshalByRefObject, 
    IDisposable

Der Transaction-Typ macht die folgenden Member verfügbar.

Eigenschaften

  Name Beschreibung
Öffentliche Eigenschaft Context Ruft die Transaktion ab und ermöglicht Clients das Anfügen von Benutzerdaten in die Transaktion.
Öffentliche Eigenschaft ContextInstance Ruft den Context für diese Transaktion ab.
Öffentliche Eigenschaft ForceAllRulesToCommitTime Ruft ein Flag ab oder legt dieses fest, das erzwingt, dass alle geschachtelten Regeln zur LocalCommit-Zeit für die aktuelle Transaktion erfolgen.
Öffentliche Eigenschaft HasPendingChanges Ruft die Transaktion ab und überprüft, ob Änderungen im Speicher während der Transaktion vorgenommen wurden.
Öffentliche Eigenschaft HaveCommitTimeRulesFired Gibt an, ob die Commitzeitregeln ausgelöst wurden.
Öffentliche Eigenschaft Id Ruft die ID für diese Transaktion ab.
Öffentliche Eigenschaft InRollback Ruft die Transaktion ab und überprüft, ob diese Transaktion zurückgesetzt wird.
Öffentliche Eigenschaft IsActive Ruft die Transaktion ab und überprüft, ob diese Transaktion verarbeitet wird.
Öffentliche Eigenschaft IsHidden Ruft die Transaktion ab und überprüft, ob die Transaktion ausgeblendet ist.
Öffentliche Eigenschaft IsNested Ruft die Transaktion ab und überprüft, ob eine Transaktion innerhalb einer anderen Transaktion geschachtelt ist.
Öffentliche Eigenschaft IsSerializing Ruft die Transaktion ab und überprüft, ob die Transaktion derzeit serialisiert.
Öffentliche Eigenschaft Name Ruft den Namen der Transaktion ab bzw. legt ihn fest.
Öffentliche Eigenschaft Parent Ruft die Transaktion auf der obersten Ebene ab, die in der geschachtelten Transaktion zugewiesen wird.
Öffentliche Eigenschaft PartitionStates Ruft Informationen über den Zustand aller Partitionen im Speicher ab.
Öffentliche Eigenschaft SequenceNumber Ruft die Sequenznummer der Transaktion ab.
Öffentliche Eigenschaft Store Ruft den Speicher ab, zu der die Transaktion gehört.
Öffentliche Eigenschaft TopLevelTransaction Ruft die Transaktion auf der obersten Ebene der Transaktionshierarchie ab.
Öffentliche Eigenschaft TransactionDepth Ruft die Anzahl von Transaktionen ab, in denen diese Transaktion geschachtelt ist.

Zum Seitenanfang

Methoden

  Name Beschreibung
Öffentliche Methode Commit Führt ein Commit der Transaktion aus.
Öffentliche Methode CreateObjRef Sicherheitsrelevant. Erstellt ein Objekt mit allen relevanten Informationen, die zum Generieren eines Proxys für die Kommunikation mit einem Remoteobjekt erforderlich sind. (Von MarshalByRefObject geerbt.)
Öffentliche Methode Dispose Gibt den Zustand der Transaktion frei.
Öffentliche Methode Equals Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist. (Von Object geerbt.)
Geschützte Methode Finalize Schließt die Transaktion ab. (Überschreibt Object.Finalize().)
Öffentliche Methode GetHashCode Fungiert als die Standardhashfunktion. (Von Object geerbt.)
Öffentliche Methode GetLifetimeService Sicherheitsrelevant. Ruft das aktuelle Lebensdauerdienstobjekt ab, das die Lebensdauerrichtlinien für diese Instanz steuert. (Von MarshalByRefObject geerbt.)
Öffentliche Methode GetType Ruft den Type der aktuellen Instanz ab. (Von Object geerbt.)
Öffentliche Methode InitializeLifetimeService Sicherheitsrelevant. Ruft ein Lebensdauerdienstobjekt ab, mit dem die Lebensdauerrichtlinien für diese Instanz gesteuert werden können. (Von MarshalByRefObject geerbt.)
Geschützte Methode MemberwiseClone() Erstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.)
Geschützte Methode MemberwiseClone(Boolean) Erstellt eine flache Kopie des aktuellen MarshalByRefObject-Objekts. (Von MarshalByRefObject geerbt.)
Öffentliche Methode Rollback Der Speicher wird in den Zustand zurückversetzt, in dem er sich befand, als die Transaktion erstellt wurde.
Öffentliche Methode ToString Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.)

Zum Seitenanfang

Erweiterungs methoden

  Name Beschreibung
Öffentliche Erweiterungsmethode GetSerializationContext Ruft das SerializationContext ab, das im Kontext der angegebenen Transaktion aktiv ist.Der SerializationContext wird im TranactionContext von Serialisierungstransaktionen gespeichert.Wenn die Transaktion geschachtelt ist, wird der Transaktionsstapel durchsucht, um die nächste einschließende Serialisierungstransaktion mit SerializationContext zu finden. (Durch SerializationContextTransactionExtensions definiert.)

Zum Seitenanfang

Hinweise

Eine Transaktion können Sie die Änderungen. Sie wird auch die Aktionen nachverfolgt, die in einer Transaktion ausgeführt werden, dass sie in einem späteren Phase rückgängig gemacht werden können.

Änderungen am Speicher müssen ausgeführt werden in einer Transaktion. Änderungen am Speicher werden nur die Transaktionscommite vorgenommen. Eine Transaktion kann den Speicher die Änderungen übernehmen lassen, wenn das lokale Transaktion ein Commit ausgeführt wird, oder wenn die Transaktion der obersten Ebene übernommen werden. Platzgeschäfte werden in einer Transaktion der obersten Ebene geschachtelt. Eine geschachtelte Transaktion muss sich bestätigen oder zurücksetzen, bevor die nächste Transaktion der obersten Ebene bestätigen oder selbst zurücksetzen kann. Weitere Informationen finden Sie im Beispiel für die TransactionDepth-Eigenschaft.

Eine Transaktion wird auch die Aktionen nachverfolgt, die aufgetreten sind. Dies ermöglicht eine Gruppe Aktionen, mit der UndoManager-Eigenschaft in einem späteren Phase rückgängig gemacht zu werden oder wiederholt werden.

Eine Transaktion dürfen freigegeben werden. Dies kann erfolgen, indem die Dispose-Methode oder die Transaktion in einem Konstrukt Using erstellt. Wenn die Transaktion weitergegeben wurde, wenn sie veröffentlicht wird, wird die Transaktion automatisch zurückgesetzt und alle Änderungen werden abgebrochen.

Beispiele

Im folgenden Beispiel wird eine Transaktion, die die Speicher- ändert. Die Transaktion wird ein Commit ausgeführt. Wenn die Transaktion zurückgesetzt wird, gehen alle Änderungen am Speicher abgebrochen. Die Transaktion wird automatisch am Ende des using-Blocks freigegeben.

using (Transaction txCreateElem =  model.Store.TransactionManager.BeginTransaction("Create named element")
{
  A a = new A(store);
  a.Name = "Fred";
  // Commit the transaction and add the named element to the model
  txCreateElem.Commit();
}

Weitere Beispiele und weitere Informationen finden Sie unter Using Transactions.

Threadsicherheit

Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Siehe auch

Referenz

Microsoft.VisualStudio.Modeling-Namespace