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 | |
---|---|---|
DbExecutionStrategy() | Initialise une nouvelle instance de la classe DbExecutionStrategy. | |
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 | |
---|---|---|
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 | |
---|---|---|
Equals | (Hérité de Object.) | |
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. | |
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. | |
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. | |
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. | |
Finalize | (Hérité de Object.) | |
GetHashCode | (Hérité de Object.) | |
GetNextDelay | Détermine si l'opération doit faire l'objet d'une nouvelle tentative, ainsi que le délai avant la tentative suivante. | |
GetType | (Hérité de Object.) | |
MemberwiseClone | (Hérité de Object.) | |
ShouldRetryOn | Détermine si l'exception spécifiée indique un problème temporaire qui peut être compensé par une nouvelle tentative. | |
ToString | (Hérité de Object.) | |
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.