Partager via


DbExecutionStrategy, classe

[Cette page concerne Entity Framework version 6. La dernière version est disponible sous le nom de package 'Entity Framework' NuGet. Pour plus d'informations sur Entity Framework, consultez msdn.com/data/ef.]

Fournit l'implémentation de base du mécanisme de nouvelle tentative pour les opérations non fiables et les conditions temporaires avec un délai augmentant de façon exponentielle entre les tentatives consécutives.

Hiérarchie d'héritage

System.Object
  System.Data.Entity.Infrastructure.DbExecutionStrategy
    System.Data.Entity.SqlServer.SqlAzureExecutionStrategy

Espace de noms :  System.Data.Entity.Infrastructure
Assembly :  EntityFramework (dans EntityFramework.dll)

Syntaxe

'Déclaration
Public MustInherit Class DbExecutionStrategy _
    Implements IDbExecutionStrategy
'Utilisation
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

Le type DbExecutionStrategy expose les membres suivants.

Constructeurs

  Nom Description
Méthode protégée DbExecutionStrategy() Initialise une nouvelle instance de la classe DbExecutionStrategy.
Méthode protégée DbExecutionStrategy(Int32, TimeSpan) Initialise une nouvelle instance de la classe DbExecutionStrategy avec les limites spécifiées pour le nombre de nouvelles tentatives et le délai entre deux tentatives.

Top

Propriétés

  Nom Description
Propriété publique RetriesOnFailure Obtient une valeur qui indique si DbExecutionStrategy peut effectuer une nouvelle tentative d'exécution après une défaillance.

Top

Méthodes

  Nom Description
Méthode publique Equals (Hérité de Object.)
Méthode publique Execute(Action) Exécute de façon répétitive l'opération spécifiée lorsqu'elle satisfait la stratégie actuelle de nouvelle tentative.
Méthode publique Execute<TResult>(Func<TResult>) Exécute de façon répétitive l'opération spécifiée lorsqu'elle satisfait la stratégie actuelle de nouvelle tentative.
Méthode publique ExecuteAsync(Func<Task>, CancellationToken) Exécute de façon répétitive l'opération asynchrone spécifiée lorsqu'elle satisfait la stratégie actuelle de nouvelle tentative.
Méthode publique ExecuteAsync<TResult>(Func<Task<TResult>>, CancellationToken) Exécute à plusieurs reprises l'opération asynchrone spécifiée lorsqu'elle satisfait la stratégie actuelle de nouvelle tentative.
Méthode protégée Finalize (Hérité de Object.)
Méthode publique GetHashCode (Hérité de Object.)
Méthode protégée GetNextDelay Détermine si l'opération doit faire l'objet d'une nouvelle tentative, ainsi que le délai avant la tentative suivante.
Méthode publique GetType (Hérité de Object.)
Méthode protégée MemberwiseClone (Hérité de Object.)
Méthode protégée ShouldRetryOn Détermine si l'exception spécifiée indique un problème temporaire qui peut être compensé par une nouvelle tentative.
Méthode publique ToString (Hérité de Object.)
Méthode publiqueMembre statique UnwrapAndHandleException<T> Obtient un InnerException de manière récursive à partir d'un exception tant qu'il s'agit d'un EntityException, DbUpdateException ou UpdateException, et le passe à exceptionHandler.

Top

Notes

Une instance est créée chaque fois qu'une opération est effectuée. La formule suivante est utilisée pour calculer le délai après un nombre retryCount de tentatives : min(random(1, 1.1) * (2 ^ retryCount - 1), maxDelay) retryCount commence à 0. Le facteur aléatoire distribue uniformément les nouvelles tentatives de plusieurs opérations simultanées échouant simultanément.

Sécurité des threads

Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Tous les membres de l'instance ne sont pas garantis comme étant thread-safe.

Voir aussi

Référence

Espace de noms System.Data.Entity.Infrastructure