Udostępnij za pośrednictwem


Klasa Transaction

Transakcji upewnia się, że zmiany wprowadzone do magazynu są traktowane jako grupę, która może być przekazana lub wycofana.

Hierarchia dziedziczenia

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

Przestrzeń nazw:  Microsoft.VisualStudio.Modeling
Zestaw:  Microsoft.VisualStudio.Modeling.Sdk.12.0 (w Microsoft.VisualStudio.Modeling.Sdk.12.0.dll)

Składnia

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

Typ Transaction uwidacznia następujące elementy członkowskie.

Właściwości

  Nazwa Opis
Właściwość publiczna Context Pobiera transakcji i umożliwia klientom dołączania danych użytkownika do transakcji.
Właściwość publiczna ContextInstance Pobiera Context dla tej transakcji.
Właściwość publiczna ForceAllRulesToCommitTime Pobiera lub ustawia flagę zmusza wszystkie reguły zagnieżdżony występuje w czasie LocalCommit dla bieżącej transakcji.
Właściwość publiczna HasPendingChanges Pobiera transakcji i sprawdza, czy wprowadzono zmiany w magazynie podczas tej transakcji.
Właściwość publiczna HaveCommitTimeRulesFired Wskazuje, czy reguły czas zatwierdzanie padły lub nie
Właściwość publiczna Id Pobiera identyfikator dla tej transakcji.
Właściwość publiczna InRollback Pobiera transakcji i sprawdza, czy transakcja jest przywracana.
Właściwość publiczna IsActive Pobiera transakcji i sprawdza, czy ta transakcja jest przetwarzanie.
Właściwość publiczna IsHidden Pobiera transakcji i sprawdza, czy transakcja jest ukryty.
Właściwość publiczna IsNested Pobiera transakcji i sprawdza, czy transakcja jest zagnieżdżona w innej transakcji.
Właściwość publiczna IsSerializing Pobiera transakcji i sprawdza, czy transakcja jest obecnie serializacji.
Właściwość publiczna Name Pobiera lub ustawia nazwę transakcji.
Właściwość publiczna Parent Pobiera najwyższego poziomu transakcji, która jest przypisana do transakcji zagnieżdżonych.
Właściwość publiczna PartitionStates Pobiera informacje o stanie wszystkich partycji w magazynie.
Właściwość publiczna SequenceNumber Pobiera numer sekwencji transakcji.
Właściwość publiczna Store Pobiera magazynu, do którego należy transakcja.
Właściwość publiczna TopLevelTransaction Pobiera transakcji najwyższego poziomu w hierarchii transakcji.
Właściwość publiczna TransactionDepth Pobiera numer transakcji, w których ta transakcja jest zagnieżdżony.

Początek

Metody

  Nazwa Opis
Metoda publiczna Commit Zatwierdza transakcję.
Metoda publiczna CreateObjRef Krytyczny pod względem zabezpieczeń Tworzy obiekt, który zawiera wszystkie istotne informacje wymagane do wygenerowania serwera proxy, używany do komunikowania się z obiektem zdalnym. (Odziedziczone z MarshalByRefObject).
Metoda publiczna Dispose Usuwa stan transakcji.
Metoda publiczna Equals Określa, czy określony obiekt jest równy bieżącemu obiektowi. (Odziedziczone z Object).
Metoda chroniona Finalize Finalizuje transakcję. (Zastępuje Object.Finalize()).
Metoda publiczna GetHashCode Służy jako domyślnej funkcji mieszania. (Odziedziczone z Object).
Metoda publiczna GetLifetimeService Krytyczny pod względem zabezpieczeń Pobiera obiekt usługi bieżącego okresu istnienia, który kontroluje politykę okres istnienia dla tego wystąpienia. (Odziedziczone z MarshalByRefObject).
Metoda publiczna GetType Pobiera Type bieżącego wystąpienia. (Odziedziczone z Object).
Metoda publiczna InitializeLifetimeService Krytyczny pod względem zabezpieczeń Uzyskuje obiekt usługi istnienia kontroli zasad okres istnienia dla tego wystąpienia. (Odziedziczone z MarshalByRefObject).
Metoda chroniona MemberwiseClone() Tworzy kopię płytkie bieżące Object. (Odziedziczone z Object).
Metoda chroniona MemberwiseClone(Boolean) Powoduje utworzenie kopii shallow bieżącego MarshalByRefObject obiektu. (Odziedziczone z MarshalByRefObject).
Metoda publiczna Rollback Magazyn zostanie ograniczona do stanu, w którym był, gdy transakcja została utworzona.
Metoda publiczna ToString Zwraca ciąg, który reprezentuje bieżący obiekt. (Odziedziczone z Object).

Początek

Metody rozszerzenia

  Nazwa Opis
Publiczna metoda rozszerzenia GetSerializationContext Działaj SerializationContext w kontekście określonej transakcji.SerializationContext jest przechowywany w TranactionContext szeregowania transakcji.Jeśli transakcja jest zagnieżdżony stosu transakcji wyszukiwana jest najbliższy otaczający serializacji transakcji z SerializationContext. (Zdefiniowane przez SerializationContextTransactionExtensions).

Początek

Uwagi

Transakcja umożliwia zmiany grupy.To również przechowuje informacje o akcje, które są wykonywane w ramach transakcji tak, że na późniejszym etapie mogą być cofnięte.

Zmiany w magazynie musi odbywać się w ramach transakcji.Zmiany w magazynie są wprowadzane tylko wtedy, gdy zatwierdzeniu transakcji.Transakcja może mieć magazynu zaakceptować zmiany, gdy lokalna transakcja zostanie zatwierdzona lub gdy najwyższego poziomu transakcja została zatwierdzona.Lokalne transakcje są zagnieżdżone w najwyższego poziomu transakcji.Transakcji zagnieżdżonych musi zatwierdzić lub przywracania zanim następnej transakcji najwyższego poziomu można przekazać lub wycofać.Aby uzyskać więcej informacji, zobacz przykład dla TransactionDepth właściwość.

Transakcja również przechowuje informacje o akcje, które wystąpiły.Dzięki temu grupy akcji, aby cofnąć lub ponownie wykonać na późniejszym etapie z UndoManager właściwość.

Transakcji powinny być usuwane.Można to zrobić za pomocą Dispose metoda lub tworząc transakcji w Using konstruowania.Jeśli transakcja nie została zatwierdzona, gdy jest usuwany, transakcja jest automatycznie przywracana i wszelkie zmiany są anulowane.

Przykłady

W poniższym przykładzie transakcja, która modyfikuje magazyn.Transakcja jest zatwierdzona.Jeśli transakcja jest cofana, zmiany wprowadzone w magazynie są anulowane.Transakcja jest usuwane automatycznie na końcu using bloku.

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();
}

Aby uzyskać więcej informacji, zobacz Using Transactions.

Bezpieczeństwo wątku

Wszystkie publiczne static (Shared w języku Visual Basic) elementy członkowskie tego typu są bezpieczne dla wątków. Wystąpienia elementów członkowskich nie dają gwarancji bezpieczeństwa wątków.

Zobacz też

Informacje

Przestrzeń nazw Microsoft.VisualStudio.Modeling