Transaction (Clase)
Una transacción se asegura de que los cambios realizados en el almacén se tratarán como grupo que pueda confirmar o revertir.
Jerarquía de herencia
System.Object
System.MarshalByRefObject
Microsoft.VisualStudio.Modeling.Transaction
Espacio de nombres: Microsoft.VisualStudio.Modeling
Ensamblado: Microsoft.VisualStudio.Modeling.Sdk.11.0 (en Microsoft.VisualStudio.Modeling.Sdk.11.0.dll)
Sintaxis
'Declaración
Public Class Transaction _
Inherits MarshalByRefObject _
Implements IDisposable
public class Transaction : MarshalByRefObject,
IDisposable
El tipo Transaction expone los siguientes miembros.
Propiedades
Nombre | Descripción | |
---|---|---|
Context | Obtiene la transacción y permite a los clientes para anexar datos de usuario a la transacción. | |
ContextInstance | obtiene Context para esta transacción. | |
ForceAllRulesToCommitTime | Obtiene o establece un marcador que fuerza todas las reglas anidadas para producirse en tiempo de LocalCommit para la transacción actual. | |
HasPendingChanges | Obtiene la transacción y comprueba si los cambios al almacén se han realizado durante esta transacción. | |
HaveCommitTimeRulesFired | Indica si se han desencadenado las reglas de tiempo de confirmación o no | |
Id | obtiene el identificador para esta transacción. | |
InRollback | Obtiene la transacción y comprueba si esta transacción está siendo revierte. | |
IsActive | Obtiene la transacción y comprueba si esta transacción está procesando. | |
IsHidden | Obtiene la transacción y comprueba si la transacción está oculta. | |
IsNested | Obtiene la transacción y comprueba si una transacción está anidada dentro de otra transacción. | |
IsSerializing | Obtiene la transacción y comprueba si la transacción está serializando actualmente. | |
Name | obtiene o establece el nombre de la transacción. | |
Parent | Obtiene la transacción de nivel superior que se asigna a la transacción anidada. | |
PartitionStates | Obtiene información sobre el estado de todas las particiones del almacén. | |
SequenceNumber | Obtiene el número de secuencia de la transacción. | |
Store | Obtiene el almacén en el que la transacción pertenece. | |
TopLevelTransaction | Obtiene la transacción de nivel superior de la jerarquía de la transacción. | |
TransactionDepth | Obtiene el número de transacciones en las que está anidada esta transacción. |
Arriba
Métodos
Nombre | Descripción | |
---|---|---|
Commit | Confirma la transacción. | |
CreateObjRef | Crítico para la seguridad. Crea un objeto que contiene toda la información relevante necesaria para generar un proxy utilizado para comunicarse con un objeto remoto. (Se hereda de MarshalByRefObject). | |
Dispose | Elimina el estado de la transacción. | |
Equals | Determina si el objeto especificado es igual al objeto actual. (Se hereda de Object). | |
Finalize | concluye la transacción. (Invalida a Object.Finalize()). | |
GetHashCode | Actúa como función hash para un tipo concreto. (Se hereda de Object). | |
GetLifetimeService | Crítico para la seguridad. Recupera el objeto de servicio de duración actual que controla la directiva de duración de esta instancia. (Se hereda de MarshalByRefObject). | |
GetType | Obtiene el objeto Type de la instancia actual. (Se hereda de Object). | |
InitializeLifetimeService | Crítico para la seguridad. Obtiene un objeto de servicio de duración para controlar la directiva de duración de esta instancia. (Se hereda de MarshalByRefObject). | |
MemberwiseClone() | Crea una copia superficial del objeto Object actual. (Se hereda de Object). | |
MemberwiseClone(Boolean) | Crea una copia superficial del objeto MarshalByRefObject actual. (Se hereda de MarshalByRefObject). | |
Rollback | El almacén se establece de nuevo al estado que estaba en cuando la transacción se creó. | |
ToString | Devuelve una cadena que representa el objeto actual. (Se hereda de Object). |
Arriba
Métodos de extensión
Nombre | Descripción | |
---|---|---|
GetSerializationContext | obtenga el activo de SerializationContext en el contexto de la transacción especificada.el SerializationContext se almacena en el TranactionContext de serializar transacciones.Si se anida la transacción la pila de la transacción se busca para encontrar la transacción más cercana de serialización que agrega a un SerializationContext. (Definido por SerializationContextTransactionExtensions). |
Arriba
Comentarios
Una transacción permite agrupar cambios.También realiza el seguimiento de las acciones que se realizan en una transacción para que se puedan deshacer ulteriormente.
Los cambios en el almacén deben realizarse en una transacción.Los cambios en el almacén se realizan sólo si las confirmaciones de transacciones.Una transacción puede hacer que el almacén acepta los cambios cuando la transacción local se confirma o cuando la transacción de nivel superior es de confianza.Las transacciones locales están anidados en una transacción de nivel superior.Una transacción anidada debe confirmar o revertir antes de que la transacción de nivel superior siguiente puede confirmarse o revertirse.Para obtener más información, vea el ejemplo para la propiedad de TransactionDepth .
Una transacción también realiza el seguimiento de las acciones que se han producido.Esto permite a un grupo de acciones para deshacer o para ser rehecho ulteriormente con la propiedad de UndoManager .
una transacción debe ser desechada.Puede hacerlo con el método de Dispose o creando la transacción en una construcción de Using .Si la transacción no ha estado confirma cuando se elimina, la transacción se devuelve automáticamente revertirse y cualquier cambio se cancela.
Ejemplos
El ejemplo siguiente se muestra una transacción que modifique el almacén.La transacción se confirma.Si la transacción se revierte, cualquier cambio en el almacén se cancela.La transacción se elimina automáticamente al final del bloque de 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();
}
Para obtener ejemplos y más información, vea Using Transactions.
Seguridad para subprocesos
Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.