Classe Transaction
Una transazione garantisce che le modifiche apportate all'archivio siano considerate come gruppo su cui può essere eseguito il commit o il rollback.
Gerarchia di ereditarietà
System.Object
System.MarshalByRefObject
Microsoft.VisualStudio.Modeling.Transaction
Spazio dei nomi: Microsoft.VisualStudio.Modeling
Assembly: Microsoft.VisualStudio.Modeling.Sdk.12.0 (in Microsoft.VisualStudio.Modeling.Sdk.12.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 | |
---|---|---|
![]() |
Context | Ottiene la transazione e consente ai client di aggiungere dati utente alla transazione. |
![]() |
ContextInstance | Ottiene Context per questa transazione. |
![]() |
ForceAllRulesToCommitTime | Ottiene o imposta un flag che impone a tutte le regole annidate di verificarsi in fase di LocalCommit per la transazione corrente. |
![]() |
HasPendingChanges | Ottiene la transazione e verifica se sono state effettuate modifiche all'archivio durante questa transazione. |
![]() |
HaveCommitTimeRulesFired | Indica se le regole relative al tempo di commit sono state generate o meno |
![]() |
Id | Ottiene l'ID univoco di questa transazione. |
![]() |
InRollback | Ottiene la transazione e verifica se questa transazione è sottoposta a rollback. |
![]() |
IsActive | Ottiene la transazione e verifica se questa transazione è in elaborazione. |
![]() |
IsHidden | Ottiene la transazione e verifica se la transazione è nascosta. |
![]() |
IsNested | Ottiene la transazione e verifica se una transazione è annidata in un'altra transazione. |
![]() |
IsSerializing | Ottiene la transazione e verifica se la transazione sta eseguendo la serializzazione. |
![]() |
Name | Ottiene o imposta il nome di questa transazione. |
![]() |
Parent | Ottiene la transazione di livello superiore assegnata alla transazione annidata. |
![]() |
PartitionStates | Ottiene le informazioni sullo stato di tutte le partizioni dell'archivio. |
![]() |
SequenceNumber | Ottiene il numero di sequenza per la transazione. |
![]() |
Store | Ottiene l'archivio a cui appartiene la transazione. |
![]() |
TopLevelTransaction | Ottiene la transazione di livello superiore della gerarchia delle transazioni. |
![]() |
TransactionDepth | Ottiene il numero di transazioni nelle quali questa transazione è annidata. |
In alto
Metodi
Nome | Descrizione | |
---|---|---|
![]() |
Commit | Consente di eseguire il commit della transazione. |
![]() |
CreateObjRef | Critico per la sicurezza. Consente di creare un oggetto che contiene tutte le informazioni rilevanti necessarie per la generazione del proxy utilizzato per effettuare la comunicazione con un oggetto remoto. (Ereditato da MarshalByRefObject) |
![]() |
Dispose | Elimina lo stato della transazione. |
![]() |
Equals | Determina se l'oggetto specificato equivale all'oggetto corrente. (Ereditato da Object) |
![]() |
Finalize | Finalizza la transazione. (Esegue l'override di Object.Finalize()). |
![]() |
GetHashCode | Funge da funzione hash predefinita. (Ereditato da Object) |
![]() |
GetLifetimeService | Critico per la sicurezza. Consente di recuperare l'oggetto servizio di durata corrente per controllare i criteri di durata per l'istanza. (Ereditato da MarshalByRefObject) |
![]() |
GetType | Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
![]() |
InitializeLifetimeService | Critico per la sicurezza. Consente di ottenere un oggetto servizio di durata per il controllo dei criteri di durata per l'istanza. (Ereditato da MarshalByRefObject) |
![]() |
MemberwiseClone() | Consente di creare una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object) |
![]() |
MemberwiseClone(Boolean) | Crea una copia dei riferimenti dell'oggetto MarshalByRefObject corrente. (Ereditato da MarshalByRefObject) |
![]() |
Rollback | L'archivio verrà reimpostato sullo stato in cui si trovava al momento della creazione della transazione. |
![]() |
ToString | Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
In alto
Metodi di estensione
Nome | Descrizione | |
---|---|---|
![]() |
GetSerializationContext | Ottiene il SerializationContext attivo nel contesto della transazione specificata.L'oggetto SerializationContext viene archiviato nell'oggetto TranactionContext della transazioni di serializzazione.Se la transazione è annidata, viene cercato lo stack di transazione per trovare la transazione di serializzazione di inclusione più vicina con un oggetto 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 può 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 deve eseguire il commit o il ripristino prima della transazione di primo livello successivo possa eseguire il commit o il ripristino. Per ulteriori informazioni, vedere l'esempio fornito per la proprietà TransactionDepth.
Una transazione anche tiene traccia delle azioni eseguite. Ciò consente a un gruppo di operazioni essere annullato o in fase ripetutoe più avanzata con la proprietà UndoManager.
Una transazione deve essere eliminato. Questa operazione può essere eseguita utilizzando il metodo Dispose o creando una transazione in un costrutto Using. 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 dell'archivio. La transazione viene eseguito il commit. Se la transazione viene ripristinata, tutte le modifiche all'archivio vengono annullate. La transazione viene eliminato automaticamente alla fine del blocco 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();
}
Per ulteriori informazioni ed esempi, vedere Using Transactions.
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.