DbExecutionStrategy Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Fournit l’implémentation de base du mécanisme de nouvelle tentative pour les opérations non fiables et les conditions temporaires qui utilisent des délais croissants de façon exponentielle entre les nouvelles tentatives.
public abstract class DbExecutionStrategy : System.Data.Entity.Infrastructure.IDbExecutionStrategy
type DbExecutionStrategy = class
interface IDbExecutionStrategy
Public MustInherit Class DbExecutionStrategy
Implements IDbExecutionStrategy
- Héritage
-
DbExecutionStrategy
- Dérivé
- Implémente
Remarques
Une nouvelle instance est créée chaque fois qu’une opération est exécutée. La formule suivante est utilisée pour calculer le délai après retryCount
le nombre de tentatives : min(random(1, 1.1) * (2 ^ retryCount - 1), maxDelay)
le retryCount
commence à 0. Le facteur aléatoire répartit uniformément les tentatives de nouvelle tentative de plusieurs opérations simultanées qui échouent simultanément.
Constructeurs
DbExecutionStrategy() |
Crée une instance de DbExecutionStrategy. |
DbExecutionStrategy(Int32, TimeSpan) |
Crée un instance de DbExecutionStrategy avec les limites spécifiées pour le nombre de nouvelles tentatives et le délai entre les nouvelles tentatives. |
Propriétés
RetriesOnFailure |
Retourne |
Suspended |
Indique si la stratégie est suspendue. La stratégie est généralement suspendue pendant l’exécution pour éviter l’exécution récursive à partir d’opérations imbriquées. |
Méthodes
Execute(Action) |
Exécute de manière répétitive l’opération spécifiée tant qu’elle satisfait à la stratégie de nouvelle tentative actuelle. |
Execute<TResult>(Func<TResult>) |
Exécute de manière répétitive l’opération spécifiée tant qu’elle satisfait à la stratégie de nouvelle tentative actuelle. |
ExecuteAsync(Func<Task>, CancellationToken) |
Exécute de manière répétitive l’opération asynchrone spécifiée tant qu’elle satisfait à la stratégie de nouvelle tentative actuelle. |
ExecuteAsync<TResult>(Func<Task<TResult>>, CancellationToken) |
Exécute à plusieurs reprises l’opération asynchrone spécifiée pendant qu’elle satisfait à la stratégie de nouvelle tentative actuelle. |
GetNextDelay(Exception) |
Détermine si l’opération doit être retentée et le délai avant la prochaine tentative. |
ShouldRetryOn(Exception) |
Détermine si l’exception spécifiée représente un échec temporaire qui peut être compensé par une nouvelle tentative. |
UnwrapAndHandleException<T>(Exception, Func<Exception,T>) |
Obtient InnerException de manière récursive à partir de |