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


SqlServerRetryingExecutionStrategy Класс

Определение

Реализация IExecutionStrategy повтора неудачных выполнений в SQL Server.

public class SqlServerRetryingExecutionStrategy : Microsoft.EntityFrameworkCore.Storage.ExecutionStrategy
type SqlServerRetryingExecutionStrategy = class
    inherit ExecutionStrategy
Public Class SqlServerRetryingExecutionStrategy
Inherits ExecutionStrategy
Наследование
SqlServerRetryingExecutionStrategy

Комментарии

Эта стратегия специально адаптирована для SQL Server (включая Azure SQL). Он предварительно настроен с номерами ошибок для временных ошибок, которые можно повторить. Также можно указать дополнительные номера ошибок для повторных попыток.

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

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

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

SqlServerRetryingExecutionStrategy(DbContext, Int32, TimeSpan, ICollection<Int32>)

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

SqlServerRetryingExecutionStrategy(DbContext, Int32, TimeSpan, IEnumerable<Int32>)

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

SqlServerRetryingExecutionStrategy(DbContext, Int32)

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

SqlServerRetryingExecutionStrategy(DbContext)

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

SqlServerRetryingExecutionStrategy(ExecutionStrategyContext, Int32, TimeSpan, ICollection<Int32>)

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

SqlServerRetryingExecutionStrategy(ExecutionStrategyContext, Int32)

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

SqlServerRetryingExecutionStrategy(ExecutionStrategyContext)

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

SqlServerRetryingExecutionStrategy(ExecutionStrategyDependencies, IEnumerable<Int32>)

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

SqlServerRetryingExecutionStrategy(ExecutionStrategyDependencies, Int32, TimeSpan, ICollection<Int32>)

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

SqlServerRetryingExecutionStrategy(ExecutionStrategyDependencies, Int32, TimeSpan, IEnumerable<Int32>)

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

SqlServerRetryingExecutionStrategy(ExecutionStrategyDependencies, Int32)

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

SqlServerRetryingExecutionStrategy(ExecutionStrategyDependencies)

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

Поля

DefaultMinDelayThrottling

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

Свойства

AdditionalErrorNumbers

Дополнительные номера ошибок SQL, которые следует считать временными.

Context

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

(Унаследовано от ExecutionStrategy)
Dependencies

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

(Унаследовано от ExecutionStrategy)
ExceptionsEncountered

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

(Унаследовано от ExecutionStrategy)
Logger

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

(Унаследовано от ExecutionStrategy)
MaxRetryCount

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

(Унаследовано от ExecutionStrategy)
MaxRetryDelay

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

(Унаследовано от ExecutionStrategy)
Random

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

(Унаследовано от ExecutionStrategy)
RetriesOnFailure

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

(Унаследовано от ExecutionStrategy)

Методы

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

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

(Унаследовано от ExecutionStrategy)
Execute<TState,TResult>(TState, Func<DbContext,TState,TResult>, Func<DbContext,TState,ExecutionResult<TResult>>)

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

(Унаследовано от ExecutionStrategy)
ExecuteAsync<TState,TResult>(Func<TState,CancellationToken,Task<TResult>>, Func<TState,CancellationToken,Task<ExecutionResult<TResult>>>, TState, CancellationToken)

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

(Унаследовано от ExecutionStrategy)
ExecuteAsync<TState,TResult>(TState, Func<DbContext,TState,CancellationToken, Task<TResult>>, Func<DbContext,TState,CancellationToken,Task<ExecutionResult<TResult>>>, CancellationToken)

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

(Унаследовано от ExecutionStrategy)
ExecuteInTransaction<TState,TResult>(Func<TState,TResult>, Func<TState,Boolean>, TState)

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

(Унаследовано от ExecutionStrategy)
ExecuteInTransactionAsync<TState,TResult>(Func<TState,CancellationToken, Task<TResult>>, Func<TState,CancellationToken,Task<Boolean>>, TState, CancellationToken)

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

(Унаследовано от ExecutionStrategy)
GetNextDelay(Exception)

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

OnFirstExecution()

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

(Унаследовано от ExecutionStrategy)
OnRetry()

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

(Унаследовано от ExecutionStrategy)
ShouldRetryOn(Exception)

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

ShouldVerifySuccessOn(Exception)

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

(Унаследовано от ExecutionStrategy)

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

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)

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

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