Condividi tramite


Classe Transaction

Una transazione garantisce che le modifiche apportate all'archivio siano considerate come gruppo che può essere eseguito il commit o il rollback di.

Gerarchia di ereditarietà

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

Spazio dei nomi:  Microsoft.VisualStudio.Modeling
Assembly:  Microsoft.VisualStudio.Modeling.Sdk.11.0 (in Microsoft.VisualStudio.Modeling.Sdk.11.0.dll)

Sintassi

'Dichiarazione
Public Class Transaction _
    Inherits MarshalByRefObject _
    Implements IDisposable
public class Transaction : MarshalByRefObject, 
    IDisposable

Il tipo Transaction espone i seguenti membri.

Proprietà

  Nome Descrizione
Proprietà pubblica Context Ottiene la transazione e consente ai client per aggiungere i dati utente alla transazione.
Proprietà pubblica ContextInstance ottiene Context per questa transazione.
Proprietà pubblica ForceAllRulesToCommitTime Ottiene o imposta un flag che impone tutte le regole annidate verificarsi in fase di LocalCommit per la transazione corrente.
Proprietà pubblica HasPendingChanges Ottiene la transazione e verifica se le modifiche all'archivio siano state effettuate durante questa transazione.
Proprietà pubblica HaveCommitTimeRulesFired Indica se le regole di ora di commit sono state generate o meno
Proprietà pubblica Id Ottiene l'ID della transazione.
Proprietà pubblica InRollback Ottiene la transazione e verifica se questa transazione venga rotolanda indietro.
Proprietà pubblica IsActive Ottiene la transazione e verifica se questa transazione venga elaborato.
Proprietà pubblica IsHidden Ottiene la transazione e verifica se la transazione venga nascosta.
Proprietà pubblica IsNested Ottiene la transazione e verifica se una transazione è annidata in un'altra transazione.
Proprietà pubblica IsSerializing Ottiene la transazione e verifica se la transazione correntemente sia serializzazione.
Proprietà pubblica Name Ottiene o imposta il nome della transazione.
Proprietà pubblica Parent Ottiene la transazione di livello superiore che verrà assegnata alla transazione annidata.
Proprietà pubblica PartitionStates Ottiene le informazioni sullo stato di tutte le partizioni nell'archivio.
Proprietà pubblica SequenceNumber Ottiene il numero di sequenze di per la transazione.
Proprietà pubblica Store Ottiene l'archivio in cui la transazione appartiene.
Proprietà pubblica TopLevelTransaction Ottiene la transazione di primo livello della gerarchia della transazione.
Proprietà pubblica TransactionDepth Ottiene il numero di transazioni in cui questa transazione è annidata.

In alto

Metodi

  Nome Descrizione
Metodo pubblico Commit Esegue il commit della transazione.
Metodo pubblico CreateObjRef Critico per la sicurezza. Crea un oggetto che contiene tutte le informazioni rilevanti obbligatorio per generare un proxy utilizzato per comunicare con un oggetto remoto. (Ereditato da MarshalByRefObject)
Metodo pubblico Dispose Elimina lo stato della transazione.
Metodo pubblico Equals Determina se l'oggetto specificato equivale all'oggetto corrente. (Ereditato da Object)
Metodo protetto Finalize Viene completato la transazione. (Esegue l'override di Object.Finalize()).
Metodo pubblico GetHashCode Funge da funzione hash per un determinato tipo. (Ereditato da Object)
Metodo pubblico GetLifetimeService Critico per la sicurezza. Recupera l'oggetto corrente del servizio di durata che controlla i criteri di durata dell'istanza. (Ereditato da MarshalByRefObject)
Metodo pubblico GetType Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object)
Metodo pubblico InitializeLifetimeService Critico per la sicurezza. Ottiene un oggetto di servizio di durata per controllare i criteri di durata dell'istanza. (Ereditato da MarshalByRefObject)
Metodo protetto MemberwiseClone() Consente di creare una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object)
Metodo protetto MemberwiseClone(Boolean) Crea una copia superficiale corrente MarshalByRefObject oggetto. (Ereditato da MarshalByRefObject)
Metodo pubblico Rollback L'archivio verrà impostato nuovamente allo stato in cui era in quando la transazione è stata creata.
Metodo pubblico ToString Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object)

In alto

Metodi di estensione

  Nome Descrizione
Metodo di estensione pubblico GetSerializationContext Ottenere la classe di SerializationContext nel contesto della transazione specificata.Il SerializationContext viene archiviato nel TranactionContext di serializzare le transazioni.Se la transazione è annidata lo stack di transazione viene trovato per trovare la transazione di serializzazione di inclusione più vicina con un SerializationContext. (Definito da SerializationContextTransactionExtensions).

In alto

Note

Una transazione consente di raggruppare le modifiche.Anche tiene traccia delle azioni eseguite in una transazione in modo da poter annullare anche in fase più avanzata.

Le modifiche all'archivio devono essere effettuate in una transazione.Le modifiche all'archivio vengono effettuate solo se il commit della transazione.Una transazione possibile fare accettare l'archivio le modifiche quando la transazione locale viene eseguito il commit o quando la transazione di primo livello viene eseguito il commit.Le transazioni locali sono annidate in una transazione di primo livello.Una transazione annidata necessario eseguire il commit o il rollback prima che la transazione di primo livello successivo possibile eseguire il commit o il rollback.Per ulteriori informazioni, vedere l'esempio relativo a TransactionDepth proprietà.

Una transazione anche tiene traccia delle azioni eseguite.Ciò consente a un gruppo di azioni essere annullato o ripetutoe in fase più avanzata con UndoManager proprietà.

Una transazione deve essere eliminato.Questa operazione può essere eseguita utilizzando Dispose metodo o creando una transazione in un oggetto Using costrutto.Se la transazione non è stato eseguito il commit quando viene eliminato, la transazione viene automaticamente ripristinata e le modifiche verranno annullate.

Esempi

Nell'esempio seguente viene illustrata una transazione di modifica nell'archivio.La transazione viene eseguito il commit.Se la transazione viene ripristinata, tutte le modifiche all'archivio verranno annullate.La transazione viene eliminato automaticamente alla fine di l using blocco.

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();
}

Per ulteriori informazioni ed esempi, vedere Utilizzo delle transazioni.

Codice thread safe

Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.

Vedere anche

Riferimenti

Spazio dei nomi Microsoft.VisualStudio.Modeling