ExecutionStrategy Класс

Определение

Базовый класс для IExecutionStrategy реализаций.

public abstract class ExecutionStrategy : Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy
type ExecutionStrategy = class
    interface IExecutionStrategy
Public MustInherit Class ExecutionStrategy
Implements IExecutionStrategy
Наследование
ExecutionStrategy
Производный
Реализации

Комментарии

Дополнительные сведения см. в разделе "Устойчивость подключения" и повторные попытки базы данных .

Конструкторы

ExecutionStrategy(DbContext, Int32, TimeSpan)

Создает новый экземпляр ExecutionStrategy.

ExecutionStrategy(ExecutionStrategyContext, Int32, TimeSpan)

Создает новый экземпляр ExecutionStrategy.

ExecutionStrategy(ExecutionStrategyDependencies, Int32, TimeSpan)

Создает новый экземпляр ExecutionStrategy.

Поля

DefaultMaxDelay

Максимальная задержка времени по умолчанию между повторными попытками должна быть неотрицательной.

DefaultMaxRetryCount

Число попыток повтора по умолчанию.

Свойства

Context

Контекст, в котором будут вызываться операции.

Current

Возвращает или задает текущую выполняемую стратегию. Все вложенные вызовы будут обрабатываться самой внешней стратегией.

Dependencies

Зависимости для этой службы.

ExceptionsEncountered

Список исключений, которые привели к повторной попытке операции.

Logger

Средство ведения журнала для этого ExecutionStrategy.

MaxRetryCount

Максимальное число повторных попыток.

MaxRetryDelay

Максимальная задержка между повторными попытками.

Random

Генератор псевдослучайных чисел, который можно использовать для изменения задержки между повторными попытками.

RetriesOnFailure

Указывает, может ли это IExecutionStrategy повторить выполнение после сбоя.

Suspended
Является устаревшей.

Указывает, приостановлена ли стратегия. Стратегия обычно приостанавливается при выполнении, чтобы избежать рекурсивного выполнения из вложенных операций.

Методы

CallOnWrappedException<TResult>(Exception, Func<Exception,TResult>)

Рекурсивно получает InnerException до exception тех пор, пока это исключение, созданное Entity Framework, и вызывает exceptionHandler его на самом внутреннем.

Execute<TState,TResult>(Func<TState,TResult>, Func<TState,ExecutionResult<TResult>>, TState)

Выполняет указанную операцию и возвращает результат.

Execute<TState,TResult>(TState, Func<DbContext,TState,TResult>, Func<DbContext,TState,ExecutionResult<TResult>>)

Выполняет указанную операцию и возвращает результат.

ExecuteAsync<TState,TResult>(Func<TState,CancellationToken,Task<TResult>>, Func<TState,CancellationToken,Task<ExecutionResult<TResult>>>, TState, CancellationToken)

Выполняет указанную асинхронную операцию и возвращает результат.

ExecuteAsync<TState,TResult>(TState, Func<DbContext,TState,CancellationToken,Task<TResult>>, Func<DbContext,TState,CancellationToken,Task<ExecutionResult<TResult>>>, CancellationToken)

Выполняет указанную асинхронную операцию и возвращает результат.

ExecuteInTransaction<TState,TResult>(Func<TState,TResult>, Func<TState,Boolean>, TState)

Выполняет указанную операцию в транзакции и возвращает результат после фиксации.

ExecuteInTransactionAsync<TState,TResult>(Func<TState,CancellationToken,Task<TResult>>, Func<TState,CancellationToken,Task<Boolean>>, TState, CancellationToken)

Выполняет указанную асинхронную операцию и возвращает результат.

GetNextDelay(Exception)

Определяет, следует ли повторить операцию и задержку перед следующей попыткой.

OnFirstExecution()

Метод, вызываемый перед первым выполнением операции

OnRetry()

Метод, вызываемый перед повторным выполнением операции

ShouldRetryOn(Exception)

Определяет, представляет ли указанное исключение временный сбой, который может быть компенсирован повторным выполнением.

ShouldVerifySuccessOn(Exception)

Определяет, может ли возникать указанное исключение после успешного выполнения.

Методы расширения

Execute(IExecutionStrategy, Action)

Выполняет указанную операцию.

Execute<TState>(IExecutionStrategy, TState, Action<TState>)

Выполняет указанную операцию.

Execute<TState>(IExecutionStrategy, Action<TState>, TState)

Выполняет указанную операцию.

Execute<TResult>(IExecutionStrategy, Func<TResult>)

Выполняет указанную операцию и возвращает результат.

Execute<TState,TResult>(IExecutionStrategy, TState, Func<TState,TResult>)

Выполняет указанную операцию и возвращает результат.

Execute<TState,TResult>(IExecutionStrategy, TState, Func<TState,TResult>, Func<TState,ExecutionResult<TResult>>)

Выполняет указанную операцию и возвращает результат.

Execute<TState,TResult>(IExecutionStrategy, Func<TState,TResult>, TState)

Выполняет указанную операцию и возвращает результат.

Execute<TState,TResult>(IExecutionStrategy, Func<TState,TResult>, Func<TState,ExecutionResult<TResult>>, TState)
Является устаревшей.

Выполняет указанную операцию и возвращает результат.

ExecuteAsync(IExecutionStrategy, Func<CancellationToken,Task>, CancellationToken)

Выполняет указанную асинхронную операцию.

ExecuteAsync(IExecutionStrategy, Func<Task>)

Выполняет указанную асинхронную операцию.

ExecuteAsync<TState>(IExecutionStrategy, TState, Func<TState,CancellationToken,Task>, CancellationToken)

Выполняет указанную асинхронную операцию.

ExecuteAsync<TState>(IExecutionStrategy, TState, Func<TState,Task>)

Выполняет указанную асинхронную операцию.

ExecuteAsync<TState>(IExecutionStrategy, Func<TState,CancellationToken,Task>, TState, CancellationToken)

Выполняет указанную асинхронную операцию.

ExecuteAsync<TState>(IExecutionStrategy, Func<TState,Task>, TState)

Выполняет указанную асинхронную операцию.

ExecuteAsync<TResult>(IExecutionStrategy, Func<CancellationToken,Task<TResult>>, CancellationToken)

Выполняет указанную асинхронную операцию и возвращает результат.

ExecuteAsync<TResult>(IExecutionStrategy, Func<Task<TResult>>)

Выполняет указанную асинхронную операцию и возвращает результат.

ExecuteAsync<TState,TResult>(IExecutionStrategy, TState, Func<TState,CancellationToken,Task<TResult>>, Func<TState,CancellationToken,Task<ExecutionResult<TResult>>>, CancellationToken)

Выполняет указанную асинхронную операцию и возвращает результат.

ExecuteAsync<TState,TResult>(IExecutionStrategy, TState, Func<TState,CancellationToken,Task<TResult>>, CancellationToken)

Выполняет указанную асинхронную операцию и возвращает результат.

ExecuteAsync<TState,TResult>(IExecutionStrategy, TState, Func<TState,Task<TResult>>)

Выполняет указанную асинхронную операцию и возвращает результат.

ExecuteAsync<TState,TResult>(IExecutionStrategy, Func<TState,CancellationToken,Task<TResult>>, TState, CancellationToken)

Выполняет указанную асинхронную операцию и возвращает результат.

ExecuteAsync<TState,TResult>(IExecutionStrategy, Func<TState,Task<TResult>>, TState)

Выполняет указанную асинхронную операцию и возвращает результат.

ExecuteInTransaction(IExecutionStrategy, Action, Func<Boolean>)

Выполняет указанную операцию в транзакции. Позволяет проверить, была ли транзакция откатирована, если во время фиксации произошла ошибка.

ExecuteInTransaction<TState>(IExecutionStrategy, TState, Action<TState>, Func<TState,Boolean>)

Выполняет указанную операцию в транзакции. Позволяет проверить, была ли транзакция откатирована, если во время фиксации произошла ошибка.

ExecuteInTransaction<TResult>(IExecutionStrategy, Func<TResult>, Func<Boolean>)

Выполняет указанную операцию в транзакции и возвращает результат. Позволяет проверить, была ли транзакция откатирована, если во время фиксации произошла ошибка.

ExecuteInTransaction<TState,TResult>(IExecutionStrategy, TState, Func<TState,TResult>, Func<TState,Boolean>)

Выполняет указанную операцию в транзакции и возвращает результат. Позволяет проверить, была ли транзакция откатирована, если во время фиксации произошла ошибка.

ExecuteInTransaction<TState,TResult>(IExecutionStrategy, Func<TState,TResult>, Func<TState,Boolean>, TState, DbContext)

Выполняет указанную операцию в транзакции и возвращает результат после фиксации.

ExecuteInTransactionAsync(IExecutionStrategy, Func<CancellationToken,Task>, Func<CancellationToken,Task<Boolean>>, CancellationToken)

Выполняет указанную асинхронную операцию в транзакции. Позволяет проверить, была ли транзакция откатирована, если во время фиксации произошла ошибка.

ExecuteInTransactionAsync(IExecutionStrategy, Func<Task>, Func<Task<Boolean>>)

Выполняет указанную асинхронную операцию в транзакции. Позволяет проверить, была ли транзакция откатирована, если во время фиксации произошла ошибка.

ExecuteInTransactionAsync<TState>(IExecutionStrategy, TState, Func<TState,CancellationToken,Task>, Func<TState,CancellationToken,Task<Boolean>>, CancellationToken)

Выполняет указанную асинхронную операцию в транзакции. Позволяет проверить, была ли транзакция откатирована, если во время фиксации произошла ошибка.

ExecuteInTransactionAsync<TResult>(IExecutionStrategy, Func<CancellationToken,Task<TResult>>, Func<CancellationToken,Task<Boolean>>, CancellationToken)

Выполняет указанную асинхронную операцию в транзакции и возвращает результат. Позволяет проверить, была ли транзакция откатирована, если во время фиксации произошла ошибка.

ExecuteInTransactionAsync<TState,TResult>(IExecutionStrategy, TState, Func<TState,CancellationToken,Task<TResult>>, Func<TState,CancellationToken,Task<Boolean>>, CancellationToken)

Выполняет указанную асинхронную операцию в транзакции и возвращает результат. Позволяет проверить, была ли транзакция откатирована, если во время фиксации произошла ошибка.

ExecuteInTransactionAsync<TState,TResult>(IExecutionStrategy, Func<TState,CancellationToken,Task<TResult>>, Func<TState,CancellationToken,Task<Boolean>>, TState, DbContext, CancellationToken)

Выполняет указанную асинхронную операцию и возвращает результат.

ExecuteInTransaction(IExecutionStrategy, Action, Func<Boolean>, IsolationLevel)

Выполняет указанную операцию в транзакции. Позволяет проверить, была ли транзакция откатирована, если во время фиксации произошла ошибка.

ExecuteInTransaction<TState>(IExecutionStrategy, TState, Action<TState>, Func<TState,Boolean>, IsolationLevel)

Выполняет указанную операцию в транзакции. Позволяет проверить, была ли транзакция откатирована, если во время фиксации произошла ошибка.

ExecuteInTransaction<TResult>(IExecutionStrategy, Func<TResult>, Func<Boolean>, IsolationLevel)

Выполняет указанную операцию в транзакции и возвращает результат. Позволяет проверить, была ли транзакция откатирована, если во время фиксации произошла ошибка.

ExecuteInTransaction<TState,TResult>(IExecutionStrategy, TState, Func<TState,TResult>, Func<TState,Boolean>, IsolationLevel)

Выполняет указанную операцию в транзакции и возвращает результат. Позволяет проверить, была ли транзакция откатирована, если во время фиксации произошла ошибка.

ExecuteInTransactionAsync(IExecutionStrategy, Func<CancellationToken,Task>, Func<CancellationToken,Task<Boolean>>, IsolationLevel, CancellationToken)

Выполняет указанную асинхронную операцию в транзакции. Позволяет проверить, была ли транзакция откатирована, если во время фиксации произошла ошибка.

ExecuteInTransactionAsync(IExecutionStrategy, Func<Task>, Func<Task<Boolean>>, IsolationLevel)

Выполняет указанную асинхронную операцию в транзакции. Позволяет проверить, была ли транзакция откатирована, если во время фиксации произошла ошибка.

ExecuteInTransactionAsync<TState>(IExecutionStrategy, TState, Func<TState,CancellationToken,Task>, Func<TState,CancellationToken,Task<Boolean>>, IsolationLevel, CancellationToken)

Выполняет указанную асинхронную операцию в транзакции. Позволяет проверить, была ли транзакция откатирована, если во время фиксации произошла ошибка.

ExecuteInTransactionAsync<TResult>(IExecutionStrategy, Func<CancellationToken,Task<TResult>>, Func<CancellationToken,Task<Boolean>>, IsolationLevel, CancellationToken)

Выполняет указанную асинхронную операцию в транзакции и возвращает результат. Позволяет проверить, была ли транзакция откатирована, если во время фиксации произошла ошибка.

ExecuteInTransactionAsync<TState,TResult>(IExecutionStrategy, TState, Func<TState,CancellationToken,Task<TResult>>, Func<TState,CancellationToken,Task<Boolean>>, IsolationLevel, CancellationToken)

Выполняет указанную асинхронную операцию и возвращает результат. Позволяет проверить, была ли транзакция откатирована, если во время фиксации произошла ошибка.

Применяется к