Compartir a través de


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
Propiedad pública Context Obtiene la transacción y permite a los clientes para anexar datos de usuario a la transacción.
Propiedad pública ContextInstance obtiene Context para esta transacción.
Propiedad pública ForceAllRulesToCommitTime Obtiene o establece un marcador que fuerza todas las reglas anidadas para producirse en tiempo de LocalCommit para la transacción actual.
Propiedad pública HasPendingChanges Obtiene la transacción y comprueba si los cambios al almacén se han realizado durante esta transacción.
Propiedad pública HaveCommitTimeRulesFired Indica si se han desencadenado las reglas de tiempo de confirmación o no
Propiedad pública Id obtiene el identificador para esta transacción.
Propiedad pública InRollback Obtiene la transacción y comprueba si esta transacción está siendo revierte.
Propiedad pública IsActive Obtiene la transacción y comprueba si esta transacción está procesando.
Propiedad pública IsHidden Obtiene la transacción y comprueba si la transacción está oculta.
Propiedad pública IsNested Obtiene la transacción y comprueba si una transacción está anidada dentro de otra transacción.
Propiedad pública IsSerializing Obtiene la transacción y comprueba si la transacción está serializando actualmente.
Propiedad pública Name obtiene o establece el nombre de la transacción.
Propiedad pública Parent Obtiene la transacción de nivel superior que se asigna a la transacción anidada.
Propiedad pública PartitionStates Obtiene información sobre el estado de todas las particiones del almacén.
Propiedad pública SequenceNumber Obtiene el número de secuencia de la transacción.
Propiedad pública Store Obtiene el almacén en el que la transacción pertenece.
Propiedad pública TopLevelTransaction Obtiene la transacción de nivel superior de la jerarquía de la transacción.
Propiedad pública TransactionDepth Obtiene el número de transacciones en las que está anidada esta transacción.

Arriba

Métodos

  Nombre Descripción
Método público Commit Confirma la transacción.
Método público 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).
Método público Dispose Elimina el estado de la transacción.
Método público Equals Determina si el objeto especificado es igual al objeto actual. (Se hereda de Object).
Método protegido Finalize concluye la transacción. (Invalida a Object.Finalize()).
Método público GetHashCode Actúa como función hash para un tipo concreto. (Se hereda de Object).
Método público 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).
Método público GetType Obtiene el objeto Type de la instancia actual. (Se hereda de Object).
Método público 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).
Método protegido MemberwiseClone() Crea una copia superficial del objeto Object actual. (Se hereda de Object).
Método protegido MemberwiseClone(Boolean) Crea una copia superficial del objeto MarshalByRefObject actual. (Se hereda de MarshalByRefObject).
Método público Rollback El almacén se establece de nuevo al estado que estaba en cuando la transacción se creó.
Método público ToString Devuelve una cadena que representa el objeto actual. (Se hereda de Object).

Arriba

Métodos de extensión

  Nombre Descripción
Método de extensión público 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.

Vea también

Referencia

Microsoft.VisualStudio.Modeling (Espacio de nombres)