Classe Transaction
Uma transação certifica-se de que as alterações feitas no armazenamento são tratadas como um grupo que pode ser confirmado ou revertido.
Hierarquia de herança
System.Object
System.MarshalByRefObject
Microsoft.VisualStudio.Modeling.Transaction
Namespace: Microsoft.VisualStudio.Modeling
Assembly: Microsoft.VisualStudio.Modeling.Sdk.11.0 (em Microsoft.VisualStudio.Modeling.Sdk.11.0.dll)
Sintaxe
'Declaração
Public Class Transaction _
Inherits MarshalByRefObject _
Implements IDisposable
public class Transaction : MarshalByRefObject,
IDisposable
O tipo Transaction expõe os membros a seguir.
Propriedades
Nome | Descrição | |
---|---|---|
Context | Obtém a transação e permite que os clientes acrescentar os dados de usuário para a transação. | |
ContextInstance | Obtém o Context para esta transação. | |
ForceAllRulesToCommitTime | Obtém ou define um sinalizador que força todas as regras aninhadas para ocorrer em tempo de LocalCommit para a transação atual. | |
HasPendingChanges | Obtém a transação e verifica se foram feitas alterações no armazenamento durante esta transação. | |
HaveCommitTimeRulesFired | Indica se as regras de tempo de confirmação foi acionadas ou não | |
Id | Obtém a ID para esta transação. | |
InRollback | Obtém a transação e verifica se essa transação está sendo revertida. | |
IsActive | Obtém a transação e verifica se a transação está processando. | |
IsHidden | Obtém a transação e verifica se a transação está oculta. | |
IsNested | Obtém a transação e verifica se uma transação está aninhada dentro de outra transação. | |
IsSerializing | Obtém a transação e verifica se a transação no momento é serializar. | |
Name | Obtém ou define o nome da transação. | |
Parent | Obtém a transação de nível superior que é atribuída à transação aninhada. | |
PartitionStates | Obtém informações sobre o estado de todas as partições no armazenamento. | |
SequenceNumber | Obtém o número de seqüência para a transação. | |
Store | Obtém o armazenamento ao qual a transação pertence. | |
TopLevelTransaction | Obtém a transação de nível superior da hierarquia de transação. | |
TransactionDepth | Obtém o número de transações em que esta transação está aninhada. |
Superior
Métodos
Nome | Descrição | |
---|---|---|
Commit | Confirma a transação. | |
CreateObjRef | Segurança crítica. Cria um objeto que contém todas as informações relevantes necessárias para gerar um proxy usado para se comunicar com um objeto remoto. (Herdado de MarshalByRefObject.) | |
Dispose | Descarta o estado da transação. | |
Equals | Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object.) | |
Finalize | Finaliza a transação. (Substitui Object.Finalize().) | |
GetHashCode | Serve como uma função de hash para um tipo específico. (Herdado de Object.) | |
GetLifetimeService | Segurança crítica. Recupera o objeto de serviço Vida útil atual que controla a diretiva vida útil para esta instância. (Herdado de MarshalByRefObject.) | |
GetType | Obtém Type da instância atual. (Herdado de Object.) | |
InitializeLifetimeService | Segurança crítica. Obtém um objeto de serviço de tempo de vida para controlar a diretiva vida útil para esta instância. (Herdado de MarshalByRefObject.) | |
MemberwiseClone() | Cria uma cópia superficial de Objectatual. (Herdado de Object.) | |
MemberwiseClone(Boolean) | Cria uma cópia superficial do atual MarshalByRefObject objeto. (Herdado de MarshalByRefObject.) | |
Rollback | O armazenamento voltarão ao estado em que ele se encontrava quando a transação foi criada. | |
ToString | Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object.) |
Superior
Métodos de extensão
Nome | Descrição | |
---|---|---|
GetSerializationContext | Obtenha a SerializationContext ativa no contexto da transação especificado.O SerializationContext é armazenado na TranactionContext da serialização de transações.Se a transação está aninhada a pilha de transação é pesquisada para localizar o delimitador mais próximo transação de serialização com um SerializationContext. (Definido por SerializationContextTransactionExtensions.) |
Superior
Comentários
Uma transação permite alterações do grupo.Ele também mantém registro de ações que são executadas em uma transação, para que eles podem ser desfeitos em um estágio posterior.
As alterações para o armazenamento devem ser feitas em uma transação.Alterações no armazenamento são feitas somente se a transação for confirmada.Uma transação pode ter o armazenamento de aceitar as alterações quando a transação local é confirmada ou quando a transação de nível superior é confirmada.Transações locais são aninhadas em uma transação de nível superior.Uma transação aninhada deve confirmar ou reverter novamente antes da próxima transação de nível superior pode confirmar ou reverter.Para obter mais informações, consulte o exemplo para o TransactionDepth propriedade.
Também uma transação que mantém registro de ações que ocorreram.Isso permite que um grupo de ações a ser desfeita ou refeita em um estágio posterior com o UndoManager propriedade.
Uma transação deve ser descartada.Isso pode ser feito usando o Dispose método ou criando a transação em um Using construir.Se a transação não foi confirmada quando ele é descartado, a transação automaticamente será revertida e todas as alterações serão canceladas.
Exemplos
O exemplo a seguir mostra uma transação que modifica o armazenamento.A transação é confirmada.Se a transação é revertida, quaisquer alterações no armazenamento serão canceladas.A transação é descartada automaticamente no final do using bloco.
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 obter mais informações e exemplos, consulte Using Transactions.
Acesso thread-safe
Quaisquer membros estático (Shared no Visual Basic) públicos deste tipo são thread-safe. Não há garantia de que qualquer membro de instância seja thread-safe.