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 una grupo que pueda confirmarse o revertirse.

Jerarquía de herencia

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

Espacio de nombres:  Microsoft.VisualStudio.Modeling
Ensamblado:  Microsoft.VisualStudio.Modeling.Sdk.12.0 (en Microsoft.VisualStudio.Modeling.Sdk.12.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 anexar datos de usuario a la transacción.
Propiedad pública ContextInstance Obtiene el Context para esta transacción.
Propiedad pública ForceAllRulesToCommitTime Obtiene o establece una marca que exige que todas las reglas anidadas se produzcan en tiempo de LocalCommit para la transacción actual.
Propiedad pública HasPendingChanges Obtiene la transacción y comprueba si se han realizado cambios al almacén durante esta transacción.
Propiedad pública HaveCommitTimeRulesFired Indica si se han desencadenado o no las reglas de tiempo de confirmación
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 se está revirtiendo.
Propiedad pública IsActive Obtiene la transacción y comprueba si esta transacción se está procesando.
Propiedad pública IsHidden Obtiene la transacción y comprueba si está oculta.
Propiedad pública IsNested Obtiene la transacción y comprueba si está anidada dentro de otra.
Propiedad pública IsSerializing Obtiene la transacción y comprueba si se 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 al que pertenece la transacción.
Propiedad pública TopLevelTransaction Obtiene la transacción de nivel superior de la jerarquía de transacciones.
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 Desecha 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 Finaliza la transacción. (Invalida a Object.Finalize()).
Método público GetHashCode Sirve como la función hash predeterminada. (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 que se volverá a establecer en el estado que tenía cuando se creó la transacción.
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 Obtiene el activo de SerializationContext en el contexto de la transacción especificada.SerializationContext se almacena en el TransactionContext de transacciones de serialización.Si se anida la transacción se busca en la pila de la transacción para encontrar la transacción de serialización envolvente más cercana con un SerializationContext. (Definido por SerializationContextTransactionExtensions).

Arriba

Comentarios

Una transacción permite agrupar cambios. Tampoco seguimiento de las acciones que se realizan en una transacción para poder deshacer ulteriormente.

Los cambios en el almacén se deben realizar en una transacción. Los cambios en el almacén se realizan si se compromete de la transacción. 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 la transacción de nivel superior siguiente puede confirmar o revertir. Para obtener más información, vea el ejemplo para la propiedad TransactionDepth .

Una transacción también realiza el seguimiento de las acciones que se han producido. Esto habilita un grupo de acciones para ser deshacer ni para ser rehecho ulteriormente con la propiedad UndoManager .

Una transacción debe ser elimine. Esto se puede realizar mediante el método Dispose o creando la transacción en una construcción Using . Si la transacción no ha estado confirma cuando se elimina, la transacción se vuelve automáticamente revertirse y cualquier cambio se cancela.

Ejemplos

El ejemplo siguiente muestra una transacción que modifique el almacén. La transacción es de confianza. Si ésta se revierte, cualquier cambio en el almacén está cancelado. La transacción se elimina automáticamente al final del bloque 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 obtener 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)