Condividi tramite


Classe CommitFailureHandler

[Questa pagina è specifica della versione 6 di Entity Framework. La versione più recente è disponibile come pacchetto NuGet per "Entity Framework". Per ulteriori informazioni su Entity Framework, vedere la pagina msdn.com/data/ef.]

Rappresenta un gestore delle transazioni che consente il recupero da errori di connessione non gravi durante il commit della transazione archiviando le informazioni di traccia della transazione nel database. Deve essere registrato tramite SetDefaultTransactionHandler(Func<TransactionHandler>).

Gerarchia di ereditarietà

System.Object
  System.Data.Entity.Infrastructure.TransactionHandler
    System.Data.Entity.Infrastructure.CommitFailureHandler

Spazio dei nomi:  System.Data.Entity.Infrastructure
Assembly:  EntityFramework (in EntityFramework.dll)

Sintassi

'Dichiarazione
Public Class CommitFailureHandler _
    Inherits TransactionHandler
'Utilizzo
Dim instance As CommitFailureHandler
public class CommitFailureHandler : TransactionHandler
public ref class CommitFailureHandler : public TransactionHandler
type CommitFailureHandler =  
    class 
        inherit TransactionHandler 
    end
public class CommitFailureHandler extends TransactionHandler

Il tipo CommitFailureHandler espone i seguenti membri.

Costruttori

  rapporti Descrizione
Metodo pubblico CommitFailureHandler() Inizializza una nuova istanza della classe CommitFailureHandler utilizzando l'oggetto TransactionContext predefinito.
Metodo pubblico CommitFailureHandler(Func<DbConnection, TransactionContext>) Inizializza una nuova istanza della classe CommitFailureHandler.

In alto

Proprietà

  rapporti Descrizione
Proprietà pubblica Connection Ottiene la connessione per cui verranno gestite le operazioni di transazione. (Ereditato da TransactionHandler)
Proprietà pubblica DbContext Ottiene il contesto per cui verranno gestite le operazioni di transazione. (Ereditato da TransactionHandler)
Proprietà protetta. IsDisposed Ottiene o imposta un valore che indica se questo gestore delle transazioni è eliminato. (Ereditato da TransactionHandler)
Proprietà pubblica ObjectContext Ottiene il contesto per cui verranno gestite le operazioni di transazione. (Ereditato da TransactionHandler)
Proprietà protetta. PruningLimit Ottiene il numero di transazioni da eseguire nel contesto prima che il log delle transazioni venga pulito.Il valore predefinito è 20.
Proprietà protetta. TransactionContext Ottiene il contesto della transazione.

In alto

Metodi

  rapporti Descrizione
Metodo pubblico BeganTransaction Archivia le informazioni di rilevamento per la nuova transazione nel database nella stessa transazione. (Esegue l'override di TransactionHandler.BeganTransaction(DbConnection, BeginTransactionInterceptionContext)).
Metodo pubblico BeginningTransaction Può essere implementato in una classe derivata. (Ereditato da TransactionHandler)
Metodo pubblico BuildDatabaseInitializationScript Genera lo script di inizializzazione del database. (Esegue l'override di TransactionHandler.BuildDatabaseInitializationScript()).
Metodo pubblico ClearTransactionHistory Rimuove tutta la cronologia delle transazioni.
Metodo pubblico ClearTransactionHistoryAsync() Rimuove in modo asincrono tutta la cronologia delle transazioni.
Metodo pubblico ClearTransactionHistoryAsync(CancellationToken) Rimuove in modo asincrono tutta la cronologia delle transazioni.
Metodo pubblico Closed Può essere implementato in una classe derivata. (Ereditato da TransactionHandler)
Metodo pubblico Closing Può essere implementato in una classe derivata. (Ereditato da TransactionHandler)
Metodo pubblico Committed Se viene generata un'eccezione, verifica la disponibilità della transazione nel database e genera nuovamente un'eccezione se non viene trovata.In caso contrario contrassegna il commit come completato e accoda le informazioni sulla transazione da eliminare. (Esegue l'override di TransactionHandler.Committed(DbTransaction, DbTransactionInterceptionContext)).
Metodo pubblico Committing Può essere implementato in una classe derivata. (Ereditato da TransactionHandler)
Metodo pubblico ConnectionGetting Può essere implementato in una classe derivata. (Ereditato da TransactionHandler)
Metodo pubblico ConnectionGot Può essere implementato in una classe derivata. (Ereditato da TransactionHandler)
Metodo pubblico ConnectionStringGetting Può essere implementato in una classe derivata. (Ereditato da TransactionHandler)
Metodo pubblico ConnectionStringGot Può essere implementato in una classe derivata. (Ereditato da TransactionHandler)
Metodo pubblico ConnectionStringSet Può essere implementato in una classe derivata. (Ereditato da TransactionHandler)
Metodo pubblico ConnectionStringSetting Può essere implementato in una classe derivata. (Ereditato da TransactionHandler)
Metodo pubblico ConnectionTimeoutGetting Può essere implementato in una classe derivata. (Ereditato da TransactionHandler)
Metodo pubblico ConnectionTimeoutGot Può essere implementato in una classe derivata. (Ereditato da TransactionHandler)
Metodo pubblico DatabaseGetting Può essere implementato in una classe derivata. (Ereditato da TransactionHandler)
Metodo pubblico DatabaseGot Può essere implementato in una classe derivata. (Ereditato da TransactionHandler)
Metodo pubblico DataSourceGetting Può essere implementato in una classe derivata. (Ereditato da TransactionHandler)
Metodo pubblico DataSourceGot Può essere implementato in una classe derivata. (Ereditato da TransactionHandler)
Metodo pubblico Dispose() Rilascia le risorse utilizzate da questo gestore delle transazioni. (Ereditato da TransactionHandler)
Metodo protetto Dispose(Boolean) Rilascia le risorse usate da questo oggetto transazione. (Esegue l'override di TransactionHandler.Dispose(Boolean)).
Metodo pubblico Disposed(DbTransaction, DbTransactionInterceptionContext) Arresta il rilevamento della transazione che è stata eliminata. (Esegue l'override di TransactionHandler.Disposed(DbTransaction, DbTransactionInterceptionContext)).
Metodo pubblico Disposed(DbConnection, DbConnectionInterceptionContext) Può essere implementato in una classe derivata. (Ereditato da TransactionHandler)
Metodo pubblico Disposing(DbConnection, DbConnectionInterceptionContext) Può essere implementato in una classe derivata. (Ereditato da TransactionHandler)
Metodo pubblico Disposing(DbTransaction, DbTransactionInterceptionContext) Può essere implementato in una classe derivata. (Ereditato da TransactionHandler)
Metodo pubblico EnlistedTransaction Può essere implementato in una classe derivata. (Ereditato da TransactionHandler)
Metodo pubblico EnlistingTransaction Può essere implementato in una classe derivata. (Ereditato da TransactionHandler)
Metodo pubblico Equals (Ereditato da Object)
Metodo protetto Finalize (Ereditato da Object)
Metodo pubblicoMembro statico FromContext(DbContext) Ottiene l'oggetto CommitFailureHandler associato a context se esistente; in caso contrario restituisce null.
Metodo pubblicoMembro statico FromContext(ObjectContext) Ottiene l'oggetto CommitFailureHandler associato a context se esistente; in caso contrario restituisce null.
Metodo pubblico GetHashCode (Ereditato da Object)
Metodo pubblico GetType (Ereditato da Object)
Metodo pubblico Initialize(ObjectContext) Inizializza le proprietà dell'istanza. (Esegue l'override di TransactionHandler.Initialize(ObjectContext)).
Metodo pubblico Initialize(DbContext, DbConnection) Inizializza le proprietà dell'istanza. (Esegue l'override di TransactionHandler.Initialize(DbContext, DbConnection)).
Metodo pubblico IsolationLevelGetting Può essere implementato in una classe derivata. (Ereditato da TransactionHandler)
Metodo pubblico IsolationLevelGot Può essere implementato in una classe derivata. (Ereditato da TransactionHandler)
Metodo protetto MarkTransactionForPruning Aggiunge la transazione specificata all'elenco delle transazioni che possono essere rimosse dal database
Metodo protetto MatchesParentContext Controlla se il contesto di intersezione specificato contiene il contesto di destinazione o se la connessione fornita è uguale a quella utilizzata dal contesto di destinazione. (Ereditato da TransactionHandler)
Metodo protetto MemberwiseClone (Ereditato da Object)
Metodo pubblico Opened Può essere implementato in una classe derivata. (Ereditato da TransactionHandler)
Metodo pubblico Opening Può essere implementato in una classe derivata. (Ereditato da TransactionHandler)
Metodo pubblico PruneTransactionHistory() Rimuove le transazioni contrassegnate per l'eliminazione.
Metodo protetto PruneTransactionHistory(Boolean, Boolean) Rimuove le transazioni contrassegnate per l'eliminazione se il numero è maggiore di PruningLimit.
Metodo pubblico PruneTransactionHistoryAsync() Rimuove in modo asincrono le transazioni contrassegnate per l'eliminazione.
Metodo pubblico PruneTransactionHistoryAsync(CancellationToken) Rimuove in modo asincrono le transazioni contrassegnate per l'eliminazione.
Metodo protetto PruneTransactionHistoryAsync(Boolean, Boolean, CancellationToken) Rimuove le transazioni contrassegnate per l'eliminazione se il numero è maggiore di PruningLimit.
Metodo pubblico RolledBack Arresta il rilevamento della transazione sottoposta al rollback. (Esegue l'override di TransactionHandler.RolledBack(DbTransaction, DbTransactionInterceptionContext)).
Metodo pubblico RollingBack Può essere implementato in una classe derivata. (Ereditato da TransactionHandler)
Metodo pubblico ServerVersionGetting Può essere implementato in una classe derivata. (Ereditato da TransactionHandler)
Metodo pubblico ServerVersionGot Può essere implementato in una classe derivata. (Ereditato da TransactionHandler)
Metodo pubblico StateGetting Può essere implementato in una classe derivata. (Ereditato da TransactionHandler)
Metodo pubblico StateGot Può essere implementato in una classe derivata. (Ereditato da TransactionHandler)
Metodo pubblico ToString (Ereditato da Object)

In alto

Note

Il gestore delle transazioni utilizza TransactionContext per archiviare le informazioni della transazione utilizzate dallo schema che possono essere configurate creando una classe derivata da TransactionContext che esegue l'override di OnModelCreating(DbModelBuilder) e passandola al costruttore della classe.

Thread safety

Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. Non è invece garantita la sicurezza dei membri dell'istanza.

Vedere anche

Riferimento

Spazio dei nomi System.Data.Entity.Infrastructure