SqlServerRetryingExecutionStrategy Класс

Определение

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

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

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

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

SqlServerRetryingExecutionStrategy(DbContext)

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

Используются значения по умолчанию 6 для максимального количества повторных попыток и 30 секунд для максимальной задержки по умолчанию.

SqlServerRetryingExecutionStrategy(DbContext, Int32)

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

Используется значение по умолчанию 30 секунд для максимальной задержки по умолчанию.

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

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

SqlServerRetryingExecutionStrategy(ExecutionStrategyContext)

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

SqlServerRetryingExecutionStrategy(ExecutionStrategyContext, Int32)

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

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

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

SqlServerRetryingExecutionStrategy(ExecutionStrategyDependencies)

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

Используются значения по умолчанию 6 для максимального количества повторных попыток и 30 секунд для максимальной задержки по умолчанию.

SqlServerRetryingExecutionStrategy(ExecutionStrategyDependencies, Int32)

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

Используется значение по умолчанию 30 секунд для максимальной задержки по умолчанию.

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

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

Свойства

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>)

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

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)

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

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