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 | |
---|---|---|
![]() |
Context | Ottiene la transazione e consente ai client per aggiungere i dati utente alla transazione. |
![]() |
ContextInstance | ottiene Context per questa transazione. |
![]() |
ForceAllRulesToCommitTime | Ottiene o imposta un flag che impone tutte le regole annidate verificarsi in fase di LocalCommit per la transazione corrente. |
![]() |
HasPendingChanges | Ottiene la transazione e verifica se le modifiche all'archivio siano state effettuate durante questa transazione. |
![]() |
HaveCommitTimeRulesFired | Indica se le regole di ora di commit sono state generate o meno |
![]() |
Id | Ottiene l'ID della transazione. |
![]() |
InRollback | Ottiene la transazione e verifica se questa transazione venga rotolanda indietro. |
![]() |
IsActive | Ottiene la transazione e verifica se questa transazione venga elaborato. |
![]() |
IsHidden | Ottiene la transazione e verifica se la transazione venga nascosta. |
![]() |
IsNested | Ottiene la transazione e verifica se una transazione è annidata in un'altra transazione. |
![]() |
IsSerializing | Ottiene la transazione e verifica se la transazione correntemente sia serializzazione. |
![]() |
Name | Ottiene o imposta il nome della transazione. |
![]() |
Parent | Ottiene la transazione di livello superiore che verrà assegnata alla transazione annidata. |
![]() |
PartitionStates | Ottiene le informazioni sullo stato di tutte le partizioni nell'archivio. |
![]() |
SequenceNumber | Ottiene il numero di sequenze di per la transazione. |
![]() |
Store | Ottiene l'archivio in cui la transazione appartiene. |
![]() |
TopLevelTransaction | Ottiene la transazione di primo livello della gerarchia della transazione. |
![]() |
TransactionDepth | Ottiene il numero di transazioni in cui questa transazione è annidata. |
In alto
Metodi
Nome | Descrizione | |
---|---|---|
![]() |
Commit | Esegue il commit della transazione. |
![]() |
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) |
![]() |
Dispose | Elimina lo stato della transazione. |
![]() |
Equals | Determina se l'oggetto specificato equivale all'oggetto corrente. (Ereditato da Object) |
![]() |
Finalize | Viene completato la transazione. (Esegue l'override di Object.Finalize()). |
![]() |
GetHashCode | Funge da funzione hash per un determinato tipo. (Ereditato da Object) |
![]() |
GetLifetimeService | Critico per la sicurezza. Recupera l'oggetto corrente del servizio di durata che controlla i criteri di durata dell'istanza. (Ereditato da MarshalByRefObject) |
![]() |
GetType | Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
![]() |
InitializeLifetimeService | Critico per la sicurezza. Ottiene un oggetto di servizio di durata per controllare i criteri di durata dell'istanza. (Ereditato da MarshalByRefObject) |
![]() |
MemberwiseClone() | Consente di creare una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object) |
![]() |
MemberwiseClone(Boolean) | Crea una copia superficiale corrente MarshalByRefObject oggetto. (Ereditato da MarshalByRefObject) |
![]() |
Rollback | L'archivio verrà impostato nuovamente allo stato in cui era in quando la transazione è stata creata. |
![]() |
ToString | Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
In alto
Metodi di estensione
Nome | Descrizione | |
---|---|---|
![]() |
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.