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 | |
---|---|---|
Context | Pobiera transakcji i umożliwia klientom dołączania danych użytkownika do transakcji. | |
ContextInstance | Pobiera Context dla tej transakcji. | |
ForceAllRulesToCommitTime | Pobiera lub ustawia flagę zmusza wszystkie reguły zagnieżdżony występuje w czasie LocalCommit dla bieżącej transakcji. | |
HasPendingChanges | Pobiera transakcji i sprawdza, czy wprowadzono zmiany w magazynie podczas tej transakcji. | |
HaveCommitTimeRulesFired | Wskazuje, czy reguły czas zatwierdzanie padły lub nie | |
Id | Pobiera identyfikator dla tej transakcji. | |
InRollback | Pobiera transakcji i sprawdza, czy transakcja jest przywracana. | |
IsActive | Pobiera transakcji i sprawdza, czy ta transakcja jest przetwarzanie. | |
IsHidden | Pobiera transakcji i sprawdza, czy transakcja jest ukryty. | |
IsNested | Pobiera transakcji i sprawdza, czy transakcja jest zagnieżdżona w innej transakcji. | |
IsSerializing | Pobiera transakcji i sprawdza, czy transakcja jest obecnie serializacji. | |
Name | Pobiera lub ustawia nazwę transakcji. | |
Parent | Pobiera najwyższego poziomu transakcji, która jest przypisana do transakcji zagnieżdżonych. | |
PartitionStates | Pobiera informacje o stanie wszystkich partycji w magazynie. | |
SequenceNumber | Pobiera numer sekwencji transakcji. | |
Store | Pobiera magazynu, do którego należy transakcja. | |
TopLevelTransaction | Pobiera transakcji najwyższego poziomu w hierarchii transakcji. | |
TransactionDepth | Pobiera numer transakcji, w których ta transakcja jest zagnieżdżony. |
Początek
Metody
Nazwa | Opis | |
---|---|---|
Commit | Zatwierdza transakcję. | |
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). | |
Dispose | Usuwa stan transakcji. | |
Equals | Określa, czy określony obiekt jest równy bieżącemu obiektowi. (Odziedziczone z Object). | |
Finalize | Finalizuje transakcję. (Zastępuje Object.Finalize()). | |
GetHashCode | Służy jako domyślnej funkcji mieszania. (Odziedziczone z Object). | |
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). | |
GetType | Pobiera Type bieżącego wystąpienia. (Odziedziczone z Object). | |
InitializeLifetimeService | Krytyczny pod względem zabezpieczeń Uzyskuje obiekt usługi istnienia kontroli zasad okres istnienia dla tego wystąpienia. (Odziedziczone z MarshalByRefObject). | |
MemberwiseClone() | Tworzy kopię płytkie bieżące Object. (Odziedziczone z Object). | |
MemberwiseClone(Boolean) | Powoduje utworzenie kopii shallow bieżącego MarshalByRefObject obiektu. (Odziedziczone z MarshalByRefObject). | |
Rollback | Magazyn zostanie ograniczona do stanu, w którym był, gdy transakcja została utworzona. | |
ToString | Zwraca ciąg, który reprezentuje bieżący obiekt. (Odziedziczone z Object). |
Początek
Metody rozszerzenia
Nazwa | Opis | |
---|---|---|
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.