Partager via


Transaction, classe

Transaction qui garantit que les modifications apportées au magasin sont traitées en tant que groupe qui peut être validé ou restauré.

Hiérarchie d'héritage

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

Espace de noms :  Microsoft.VisualStudio.Modeling
Assembly :  Microsoft.VisualStudio.Modeling.Sdk.12.0 (dans Microsoft.VisualStudio.Modeling.Sdk.12.0.dll)

Syntaxe

'Déclaration
Public Class Transaction _
    Inherits MarshalByRefObject _
    Implements IDisposable
public class Transaction : MarshalByRefObject, 
    IDisposable

Le type Transaction expose les membres suivants.

Propriétés

  Nom Description
Propriété publique Context Obtient la transaction et permet aux clients d'ajouter des données utilisateur à la transaction.
Propriété publique ContextInstance Obtient le Context de cette transaction.
Propriété publique ForceAllRulesToCommitTime Obtient ou définit un indicateur qui force toutes les règles imbriquées à se produire au moment du LocalCommit pour la transaction en cours.
Propriété publique HasPendingChanges Obtient la transaction et vérifie si des modifications ont été apportées au magasin pendant cette transaction.
Propriété publique HaveCommitTimeRulesFired Indique si les règles de délai de validation ont été données ou non
Propriété publique Id Obtient l'ID de cette transaction.
Propriété publique InRollback Obtient la transaction et vérifie si cette transaction est en cours de restauration.
Propriété publique IsActive Obtient la transaction et vérifie si cette transaction est en cours de traitement.
Propriété publique IsHidden Obtient la transaction et vérifie si la transaction est masquée.
Propriété publique IsNested Obtient la transaction et vérifie si une transaction est imbriquée dans une autre transaction.
Propriété publique IsSerializing Obtient la transaction et vérifie si la transaction est actuellement en cours de sérialisation.
Propriété publique Name Obtient ou définit le nom de la transaction.
Propriété publique Parent Obtient la transaction de niveau supérieur assignée à la transaction imbriquée.
Propriété publique PartitionStates Obtient des informations sur l'état de toutes les partitions dans le magasin.
Propriété publique SequenceNumber Obtient le numéro de séquence de la transaction.
Propriété publique Store Obtient le magasin auquel la transaction appartient.
Propriété publique TopLevelTransaction Obtient la transaction de niveau supérieur de la hiérarchie de transaction.
Propriété publique TransactionDepth Obtient le nombre total de transactions dans lesquelles cette transaction est imbriquée.

Début

Méthodes

  Nom Description
Méthode publique Commit Valide la transaction.
Méthode publique CreateObjRef Essentiel pour la sécurité. Crée un objet contenant toutes les informations appropriées requises pour générer un proxy permettant de communiquer avec un objet distant. (Hérité de MarshalByRefObject.)
Méthode publique Dispose Supprime l'état de la transaction.
Méthode publique Equals Détermine si l'objet spécifié est identique à l'objet actuel. (Hérité de Object.)
Méthode protégée Finalize Finalise la transaction. (Substitue Object.Finalize().)
Méthode publique GetHashCode Sert de fonction de hachage par défaut. (Hérité de Object.)
Méthode publique GetLifetimeService Essentiel pour la sécurité. Récupère l'objet de service de durée de vie en cours qui contrôle la stratégie de durée de vie de cette instance. (Hérité de MarshalByRefObject.)
Méthode publique GetType Obtient le Type de l'instance actuelle. (Hérité de Object.)
Méthode publique InitializeLifetimeService Essentiel pour la sécurité. Obtient un objet de service de durée de vie pour contrôler la stratégie de durée de vie de cette instance. (Hérité de MarshalByRefObject.)
Méthode protégée MemberwiseClone() Crée une copie superficielle de l'objet Object actuel. (Hérité de Object.)
Méthode protégée MemberwiseClone(Boolean) Crée une copie superficielle de l'objet MarshalByRefObject actuel. (Hérité de MarshalByRefObject.)
Méthode publique Rollback Le magasin sera rétabli à l'état dans lequel il était lors de la création de la transaction.
Méthode publique ToString Retourne une chaîne qui représente l'objet actif. (Hérité de Object.)

Début

Méthodes d'extension

  Nom Description
Méthode d'extension publique GetSerializationContext Obtient le SerializationContext actif dans le contexte de la transaction spécifiée.Le SerializationContext est stocké dans le TransactionContext des transactions de sérialisation.Si la transaction est imbriquée, la pile de transaction est recherchée pour trouver la transaction de sérialisation englobante la plus proche d'un SerializationContext. (Défini par SerializationContextTransactionExtensions.)

Début

Notes

Une transaction vous permet de regrouper plusieurs modifications. Elle contient également les actions exécutées dans une transaction afin qu'ils puissent être annulées par la suite.

Les modifications au magasin doivent être effectuées dans une transaction. Les modifications au magasin sont apportées uniquement si les preuves de transaction. Une transaction peut faire accepter magasin les modifications lorsque la transaction locale est validée ou lorsque la transaction de niveau supérieur est validée. Les transactions locales sont imbriquées dans une transaction de niveau supérieur. Une transaction imbriquée doit valider ou annuler avant que la transaction de niveau supérieur suivante peut valider ou annuler. Pour plus d'informations, consultez l'exemple de la propriété d'TransactionDepth.

Une transaction contient également les actions qui se sont produites. Cela permet un groupe d'actions d'annuler ultérieurement ou rétablit avec la propriété d'UndoManager.

Une transaction doit être supprimée. Cette opération peut être effectuée à l'aide de la méthode Dispose ou en créant la transaction en construction d'Using. Si la transaction n'a pas été validée lorsqu'elle est supprimée, la transaction est alors automatiquement restaurée et toutes les modifications sont annulées.

Exemples

L'exemple suivant montre une transaction qui modifie le magasin. La transaction est validée. Si la transaction est restaurée, toutes les modifications au magasin sont annulées. La transaction est supprimée automatiquement à la fin du bloc d'using.

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

Pour obtenir des exemples et des informations, consultez Using Transactions.

Sécurité des threads

Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Voir aussi

Référence

Microsoft.VisualStudio.Modeling, espace de noms