Поделиться через


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), являются потокобезопасными. Потокобезопасная работа с членами экземпляров типа не гарантируется.

См. также

Справочник

System.Data.Entity.Infrastructure - пространство имен