Partager via


Transaction, classe

Une transaction garantit que les modifications apportées à la banque sont traitées en tant que groupe qui peut être validé ou dos restaurée.

Hiérarchie d'héritage

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

Espace de noms :  Microsoft.VisualStudio.Modeling
Assembly :  Microsoft.VisualStudio.Modeling.Sdk.11.0 (dans Microsoft.VisualStudio.Modeling.Sdk.11.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 à des clients pour ajouter des données d'utilisateur à la transaction.
Propriété publique ContextInstance Obtient Context pour cette transaction.
Propriété publique ForceAllRulesToCommitTime Obtient ou définit une balise qui force toutes les règles imbriquées de se produire au moment de LocalCommit pour la transaction actuelle.
Propriété publique HasPendingChanges Obtient la transaction et la vérifie si des modifications à la banque ont été effectuées pendant cette transaction.
Propriété publique HaveCommitTimeRulesFired Indique, que les règles heure de validation aient été déclenchées ou non
Propriété publique Id Obtient l'IDENTIFICATEUR pour cette transaction.
Propriété publique InRollback Obtient la transaction et la vérifie si cette transaction est restaurée dos.
Propriété publique IsActive Obtient la transaction et la vérifie si cette transaction traite.
Propriété publique IsHidden Obtient la transaction et la vérifie si la transaction est masquée.
Propriété publique IsNested Obtient la transaction et la vérifie si une transaction est imbriquée dans une autre transaction.
Propriété publique IsSerializing Obtient la transaction et la vérifie si la transaction sérialise actuellement.
Propriété publique Name Obtient ou définit le nom de la transaction.
Propriété publique Parent Obtient la transaction de niveau supérieur qui est assignée à la transaction imbriquée.
Propriété publique PartitionStates Obtient des informations sur l'état de toutes les partitions dans la banque.
Propriété publique SequenceNumber Obtient le numéro séquentiel pour la transaction.
Propriété publique Store Obtient la banque à laquelle 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 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 pour un type particulier. (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 La banque sera définie sur le déclarer qu'elle se trouvait dans le moment où la transaction a été créée.
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 Obtenez le SerializationContext actif dans le contexte de la transaction spécifiée.Le SerializationContext est enregistré dans le TranactionContext de sérialiser des transactions.Si la transaction est imbriquée la pile de transaction est recherchée pour rechercher la transaction de sérialisation englobante la plus proche avec un SerializationContext. (Défini par SerializationContextTransactionExtensions.)

Début

Notes

Une transaction permet pour grouper des modifications.Il gère également les actions exécutées dans une transaction afin qu'elles puissent être annulées par la suite.

Les modifications apportées à la banque doivent être faits d'une transaction.Les modifications apportées à la banque sont apportées uniquement si les validations de transaction.Une transaction peut faire accepter la banque les modifications lorsque la transaction locale est validée ou lorsque la transaction de niveau supérieur est validée.Des transactions locales sont imbriquées dans une transaction de niveau supérieur.Une transaction imbriquée doit valider ou restaurer avant que la transaction de niveau supérieur suivante peut valider ou annuler.Pour plus d'informations, voyez l'exemple pour la propriété d'TransactionDepth.

Une transaction contient également les actions qui se sont produites.Cela active un groupe d'actions d'être annulé par la suite 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 d'Dispose ou en créant la transaction dans l'élément d'Using.Si la transaction n'a pas été validée lorsqu'il est supprimé, la transaction est dos automatiquement restaurée et toutes les modifications sont annulées.

Exemples

L'exemple suivant montre une transaction qui modifie la banque.La transaction est validée.Si la transaction est restaurée dos, toutes les modifications à la banque 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 des exemples et plus d'informations, consultez l'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