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 | |
---|---|---|
Context | Obtient la transaction et permet à des clients pour ajouter des données d'utilisateur à la transaction. | |
ContextInstance | Obtient Context pour cette transaction. | |
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. | |
HasPendingChanges | Obtient la transaction et la vérifie si des modifications à la banque ont été effectuées pendant cette transaction. | |
HaveCommitTimeRulesFired | Indique, que les règles heure de validation aient été déclenchées ou non | |
Id | Obtient l'IDENTIFICATEUR pour cette transaction. | |
InRollback | Obtient la transaction et la vérifie si cette transaction est restaurée dos. | |
IsActive | Obtient la transaction et la vérifie si cette transaction traite. | |
IsHidden | Obtient la transaction et la vérifie si la transaction est masquée. | |
IsNested | Obtient la transaction et la vérifie si une transaction est imbriquée dans une autre transaction. | |
IsSerializing | Obtient la transaction et la vérifie si la transaction sérialise actuellement. | |
Name | Obtient ou définit le nom de la transaction. | |
Parent | Obtient la transaction de niveau supérieur qui est assignée à la transaction imbriquée. | |
PartitionStates | Obtient des informations sur l'état de toutes les partitions dans la banque. | |
SequenceNumber | Obtient le numéro séquentiel pour la transaction. | |
Store | Obtient la banque à laquelle la transaction appartient. | |
TopLevelTransaction | Obtient la transaction de niveau supérieur de la hiérarchie de transaction. | |
TransactionDepth | Obtient le nombre de transactions dans lesquelles cette transaction est imbriquée. |
Début
Méthodes
Nom | Description | |
---|---|---|
Commit | Valide la transaction. | |
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.) | |
Dispose | Supprime l'état de la transaction. | |
Equals | Détermine si l'objet spécifié est identique à l'objet actuel. (Hérité de Object.) | |
Finalize | Finalise la transaction. (Substitue Object.Finalize().) | |
GetHashCode | Sert de fonction de hachage pour un type particulier. (Hérité de Object.) | |
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.) | |
GetType | Obtient le Type de l'instance actuelle. (Hérité de Object.) | |
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.) | |
MemberwiseClone() | Crée une copie superficielle de l'objet Object actuel. (Hérité de Object.) | |
MemberwiseClone(Boolean) | Crée une copie superficielle de l'objet MarshalByRefObject actuel. (Hérité de MarshalByRefObject.) | |
Rollback | La banque sera définie sur le déclarer qu'elle se trouvait dans le moment où la transaction a été créée. | |
ToString | Retourne une chaîne qui représente l'objet actif. (Hérité de Object.) |
Début
Méthodes d'extension
Nom | Description | |
---|---|---|
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.