Classe DbExecutionStrategy
[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.]
Fornisce l'implementazione di base del meccanismo di riesecuzione per le operazioni non affidabili e le condizioni temporanee che utilizza ritardi tra i tentativi che aumentano esponenzialmente.
Gerarchia di ereditarietà
System.Object
System.Data.Entity.Infrastructure.DbExecutionStrategy
System.Data.Entity.SqlServer.SqlAzureExecutionStrategy
Spazio dei nomi: System.Data.Entity.Infrastructure
Assembly: EntityFramework (in EntityFramework.dll)
Sintassi
'Dichiarazione
Public MustInherit Class DbExecutionStrategy _
Implements IDbExecutionStrategy
'Utilizzo
Dim instance As DbExecutionStrategy
public abstract class DbExecutionStrategy : IDbExecutionStrategy
public ref class DbExecutionStrategy abstract : IDbExecutionStrategy
[<AbstractClassAttribute>]
type DbExecutionStrategy =
class
interface IDbExecutionStrategy
end
public abstract class DbExecutionStrategy implements IDbExecutionStrategy
Il tipo DbExecutionStrategy espone i seguenti membri.
Costruttori
rapporti | Descrizione | |
---|---|---|
DbExecutionStrategy() | Inizializza una nuova istanza della classe DbExecutionStrategy. | |
DbExecutionStrategy(Int32, TimeSpan) | Inizializza una nuova istanza della classe DbExecutionStrategy con i limiti specificati per il numero di tentativi e il ritardo tra i tentativi. |
In alto
Proprietà
rapporti | Descrizione | |
---|---|---|
RetriesOnFailure | Ottiene un valore che indica se DbExecutionStrategy può ripetere l'esecuzione dopo un errore. |
In alto
Metodi
rapporti | Descrizione | |
---|---|---|
Equals | (Ereditato da Object) | |
Execute(Action) | Esegue ripetutamente l'operazione specificata mentre soddisfa i criteri correnti per i tentativi. | |
Execute<TResult>(Func<TResult>) | Esegue ripetutamente l'operazione specificata mentre soddisfa i criteri correnti per i tentativi. | |
ExecuteAsync(Func<Task>, CancellationToken) | Esegue ripetutamente l'operazione asincrona specificata mentre soddisfa i criteri correnti per i tentativi. | |
ExecuteAsync<TResult>(Func<Task<TResult>>, CancellationToken) | Esegue ripetutamente l'operazione asincrona specificata mentre soddisfa i criteri correnti per i tentativi. | |
Finalize | (Ereditato da Object) | |
GetHashCode | (Ereditato da Object) | |
GetNextDelay | Determina se l'operazione deve essere riprovata e stabilisce il ritardo prima del prossimo tentativo. | |
GetType | (Ereditato da Object) | |
MemberwiseClone | (Ereditato da Object) | |
ShouldRetryOn | Determina se l'eccezione specificata rappresenta un errore temporaneo che può essere compensato con un tentativo. | |
ToString | (Ereditato da Object) | |
UnwrapAndHandleException<T> | Ottiene in modo ricorsivo InnerException da exception purché si tratti di un oggetto EntityException, DbUpdateException o UpdateException e lo passa a exceptionHandler. |
In alto
Note
Verrà creata una nuova istanza ogni volta che viene eseguita una operazione. La formula seguente consente di calcolare il ritardo dopo retryCount tentativi: min(random(1, 1.1) * (2 ^ retryCount - 1), maxDelay) retryCount inizia da 0. Il fattore casuale distribuisce uniformemente i tentativi da più operazioni simultanee che restituiscono un errore simultaneamente.
Thread safety
Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. Non è invece garantita la sicurezza dei membri dell'istanza.