DbExecutionStrategy Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Fornisce l'implementazione di base del meccanismo di ripetizione dei tentativi per operazioni non attendibili e condizioni temporanee che usano ritardi esponenzialmente crescenti tra i tentativi.
public abstract class DbExecutionStrategy : System.Data.Entity.Infrastructure.IDbExecutionStrategy
type DbExecutionStrategy = class
interface IDbExecutionStrategy
Public MustInherit Class DbExecutionStrategy
Implements IDbExecutionStrategy
- Ereditarietà
-
DbExecutionStrategy
- Derivato
- Implementazioni
Commenti
Una nuova istanza verrà creata ogni volta che viene eseguita un'operazione. La formula seguente viene usata per calcolare il ritardo dopo retryCount
il numero di tentativi: min(random(1, 1.1) * (2 ^ retryCount - 1), maxDelay)
l'avvio retryCount
è pari a 0. Il fattore casuale distribuisce in modo uniforme i tentativi di ripetizione da più operazioni simultanee contemporaneamente.
Costruttori
DbExecutionStrategy() |
Crea una nuova istanza di DbExecutionStrategy. |
DbExecutionStrategy(Int32, TimeSpan) |
Crea una nuova istanza di DbExecutionStrategy con i limiti specificati per il numero di tentativi e il ritardo tra i tentativi. |
Proprietà
RetriesOnFailure |
Restituisce |
Suspended |
Indica se la strategia è sospesa. La strategia è in genere sospesa durante l'esecuzione per evitare l'esecuzione ricorsiva da operazioni annidate. |
Metodi
Execute(Action) |
Esegue in modo ripetitivo l'operazione specificata mentre soddisfa i criteri di ripetizione dei tentativi correnti. |
Execute<TResult>(Func<TResult>) |
Esegue in modo ripetitivo l'operazione specificata mentre soddisfa i criteri di ripetizione dei tentativi correnti. |
ExecuteAsync(Func<Task>, CancellationToken) |
Esegue in modo ripetitivo l'operazione asincrona specificata mentre soddisfa i criteri di ripetizione dei tentativi correnti. |
ExecuteAsync<TResult>(Func<Task<TResult>>, CancellationToken) |
Esegue ripetutamente l'operazione asincrona specificata mentre soddisfa i criteri di ripetizione dei tentativi correnti. |
GetNextDelay(Exception) |
Determina se l'operazione deve essere riprovata e il ritardo prima del tentativo successivo. |
ShouldRetryOn(Exception) |
Determina se l'eccezione specificata rappresenta un errore temporaneo che può essere compensato da un nuovo tentativo. |
UnwrapAndHandleException<T>(Exception, Func<Exception,T>) |
In modo ricorsivo ottiene InnerException da |