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


ExecutionStrategy Класс

Определение

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

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

Комментарии

Время существования службы — Scoped. Это означает, что каждый DbContext экземпляр будет использовать собственный экземпляр этой службы. Реализация может зависеть от других служб, зарегистрированных с любым временем существования. Реализация не обязательно должна быть потокобезопасной.

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

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

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>, Func<TState,ExecutionResult<TResult>>)

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

Execute<TState,TResult>(IExecutionStrategy, TState, Func<TState,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)

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

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