DbExecutionStrategy - класс
[Эта страница относится к документации к Entity Framework 6. Последняя версия доступна в составе пакета Entity Framework NuGet. Дополнительные сведения об Entity Framework см. в разделе msdn.com/data/ef.]
Предоставляет базовую реализацию механизма повторения для ненадежных операций и временных состояний, в которой используются экспоненциально возрастающие задержки между повторными попытками.
Иерархия наследования
System.Object
System.Data.Entity.Infrastructure.DbExecutionStrategy
System.Data.Entity.SqlServer.SqlAzureExecutionStrategy
Пространство имен: System.Data.Entity.Infrastructure
Сборка: EntityFramework (в EntityFramework.dll)
Синтаксис
'Декларация
Public MustInherit Class DbExecutionStrategy _
Implements IDbExecutionStrategy
'Применение
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
Тип DbExecutionStrategy предоставляет следующие члены.
Конструкторы
Имя | Описание | |
---|---|---|
![]() |
DbExecutionStrategy() | Инициализирует новый экземпляр класса DbExecutionStrategy. |
![]() |
DbExecutionStrategy(Int32, TimeSpan) | Инициализирует новый экземпляр класса DbExecutionStrategy с указанными пределами для количества повторных попыток и задержками между повторениями. |
По верхнему краю
Свойства
Имя | Описание | |
---|---|---|
![]() |
RetriesOnFailure | Возвращает значение, которое указывает, может ли метод DbExecutionStrategy повторять выполнение после сбоя. |
По верхнему краю
Методы
Имя | Описание | |
---|---|---|
![]() |
Equals | (Унаследовано от Object.) |
![]() |
Execute(Action) | Повторно выполняет указанную операцию до тех пор, пока она удовлетворяет текущей политике повторений. |
![]() |
Execute<TResult>(Func<TResult>) | Повторно выполняет указанную операцию до тех пор, пока она удовлетворяет текущей политике повторений. |
![]() |
ExecuteAsync(Func<Task>, CancellationToken) | Повторно выполняет указанную асинхронную операцию, пока она удовлетворяет текущей политике повторений. |
![]() |
ExecuteAsync<TResult>(Func<Task<TResult>>, CancellationToken) | Повторно выполняет указанную асинхронную операцию до тех пор, пока она удовлетворяет текущей политике повторений. |
![]() |
Finalize | (Унаследовано от Object.) |
![]() |
GetHashCode | (Унаследовано от Object.) |
![]() |
GetNextDelay | Определяет, должна ли повторяться операция и какова задержка перед следующей попыткой. |
![]() |
GetType | (Унаследовано от Object.) |
![]() |
MemberwiseClone | (Унаследовано от Object.) |
![]() |
ShouldRetryOn | Определяет, представляет ли указанное исключение временный отказ, который можно устранить с помощью повторной попытки. |
![]() |
ToString | (Унаследовано от Object.) |
![]() ![]() |
UnwrapAndHandleException<T> | Рекурсивно получает исключения InnerException из exception, при условии, что этот объект равен EntityException, DbUpdateException или UpdateException, и передает их в exceptionHandler |
По верхнему краю
Примечания
При каждом выполнении операции создается новый экземпляр. Следующая формула используется для вычисления задержки после равного retryCount количества попыток: min(random(1, 1.1) * (2 ^ retryCount - 1), maxDelay)retryCount Отсчет начинается с 0. Применение случайного коэффициента обеспечивает равномерное распределение попыток повтора, связанных с несколькими одновременными операциями, отказ в которых происходит одновременно.
Потокобезопасность
Любые открытые члены этого типа, объявленные как static (Shared в Visual Basic), являются потокобезопасными. Потокобезопасная работа с членами экземпляров типа не гарантируется.