Freigeben über


Transaction-Klasse

Eine Transaktion wird sichergestellt, dass Änderungen, die im Speicher vorgenommen wurden, als Gruppe behandelt werden, 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.11.0 (in Microsoft.VisualStudio.Modeling.Sdk.11.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 zum Anfügen von Benutzerdaten in die Transaktion.
Öffentliche Eigenschaft ContextInstance Ruft Context für diese Transaktion ab.
Öffentliche Eigenschaft ForceAllRulesToCommitTime Ruft ein Flag ab, das alle geschachtelten Regeln erzwungen werden soll, an LocalCommit-Zeit für die aktuelle Transaktion eintritt.
Ö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 Steuerung des Commits oder nicht ausgelöst wurden
Öffentliche Eigenschaft Id Ruft die ID für diese Transaktion ab.
Öffentliche Eigenschaft InRollback Ruft die Transaktion ab und überprüfen, ob diese Transaktion zurückgesetzt wird.
Öffentliche Eigenschaft IsActive Ruft die Transaktion ab und überprüfen, ob diese Transaktion verarbeitet.
Ö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 nur serialisiert.
Öffentliche Eigenschaft Name Ruft den Namen der Transaktion 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, dem die Transaktion gehört.
Öffentliche Eigenschaft TopLevelTransaction Ruft die Transaktion auf der obersten Ebene der Hierarchie der Transaktion 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 Hashfunktion für einen bestimmten Typ. (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 zurück an den Zustand festgelegt, dass sie war, als die Transaktion in erstellt wurde.
Öffentliche Methode ToString Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.)

Zum Seitenanfang

Erweiterungsmethoden

  Name Beschreibung
Öffentliche Erweiterungsmethode GetSerializationContext Rufen Sie das SerializationContext ab, das im Rahmen der angegebenen Transaktion aktiv ist.Das SerializationContext wird im TranactionContext des Serialisierens von Transaktionen gespeichert.Wenn die Transaktion geschachtelt ist, wird der transaktionalen stapel durchsucht, um die nächste einschließende Transaktion zum Bereitstellen mit einem SerializationContext zu suchen. (Durch SerializationContextTransactionExtensions definiert.)

Zum Seitenanfang

Hinweise

Eine Transaktion können Sie Gruppenwechseln.Es wird außerdem die Aktionen, die in einer Transaktion ausgeführt werden, damit sie in einem späteren Phase rückgängig gemacht werden können.

Änderungen im Speicher müssen im Rahmen einer Transaktion erfolgen.Änderungen im Speicher werden nur dann, wenn die commite Transaktionen vorgenommen.Eine Transaktion kann den Speicher die Änderungen annehmen können, wenn das lokale Transaktion ein Commit ausgeführt wird oder wenn der obersten Ebene für die Transaktion ein Commit ausgeführt wird.Platzgeschäfte werden in einer Transaktion der obersten Ebene.Eine geschachtelte Transaktion muss einen Commit oder Rollback, bevor die nächste Transaktion der obersten Ebene einen Commit oder Rollback kann.Weitere Informationen finden Sie im Beispiel für die TransactionDepth-Eigenschaft.

Eine Transaktion verwaltet außerdem die Aktionen, die ausgeführt wurden.Dies ermöglicht eine Gruppe von Aktionen, mit der UndoManager-Eigenschaft in einem späteren Phase rückgängig gemacht bzw. wiederholt werden soll.

Eine Transaktion muss freigegeben werden.Dies kann erfolgen, indem die Dispose-Methode oder die Transaktion in einem Using Konstrukt erstellt.Wenn die Transaktion kein Commit ausgeführt wurde, wenn sie verworfen wird, wird die Transaktion automatisch zurückgesetzt, und die Änderungen werden verworfen.

Beispiele

Im folgenden Beispiel wird eine Transaktion an, die den Speicher ändert.Die Transaktion wird ein Commit ausgeführt.Wenn die Transaktion zurückgesetzt wird, werden alle ausstehenden Änderungen im Speicher abgebrochen.Die Transaktion wird automatisch am Ende des using-Block 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 Informationen und Beispiele 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