IExecutionStrategy.ExecuteAsync Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Перегрузки
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) |
Выполняет указанную асинхронную операцию и возвращает результат. |
ExecuteAsync<TState,TResult>(Func<TState,CancellationToken,Task<TResult>>, Func<TState,CancellationToken,Task<ExecutionResult<TResult>>>, TState, CancellationToken)
Выполняет указанную асинхронную операцию и возвращает результат.
public System.Threading.Tasks.Task<TResult> ExecuteAsync<TState,TResult> (Func<TState,System.Threading.CancellationToken,System.Threading.Tasks.Task<TResult>> operation, Func<TState,System.Threading.CancellationToken,System.Threading.Tasks.Task<Microsoft.EntityFrameworkCore.Storage.ExecutionResult<TResult>>> verifySucceeded, TState state, System.Threading.CancellationToken cancellationToken = default);
abstract member ExecuteAsync : Func<'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<'Result>> * Func<'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<Microsoft.EntityFrameworkCore.Storage.ExecutionResult<'Result>>> * 'State * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Result>
Public Function ExecuteAsync(Of TState, TResult) (operation As Func(Of TState, CancellationToken, Task(Of TResult)), verifySucceeded As Func(Of TState, CancellationToken, Task(Of ExecutionResult(Of TResult))), state As TState, Optional cancellationToken As CancellationToken = Nothing) As Task(Of TResult)
Параметры типа
- TState
Тип состояния.
- TResult
Тип результата , Task<TResult> возвращаемый operation
.
Параметры
- operation
- Func<TState,CancellationToken,Task<TResult>>
Функция, возвращающая запущенную задачу типа TResult
.
- verifySucceeded
- Func<TState,CancellationToken,Task<ExecutionResult<TResult>>>
Делегат, проверяющий, успешно ли выполнена операция, даже если возникло исключение.
- state
- TState
Состояние, которое будет передано операции.
- cancellationToken
- CancellationToken
Маркер отмены, используемый для отмены операции повтора, но не операции, которые уже находятся в тестовом режиме или уже успешно завершены.
Возвращаемое значение
Задача, которая будет выполняться до завершения, если исходная задача успешно завершается (первый раз или после повторных временных сбоев). Если задача завершается сбоем с невременной ошибкой или достигнут предел повторных попыток, возвращаемая задача завершится ошибкой и должно наблюдаться исключение.
Исключения
Возникает, если операция не завершилась успешно после заданного количества повторных попыток.
Применяется к
ExecuteAsync<TState,TResult>(TState, Func<DbContext,TState,CancellationToken, Task<TResult>>, Func<DbContext,TState,CancellationToken,Task<ExecutionResult<TResult>>>, CancellationToken)
- Исходный код:
- IExecutionStrategy.cs
- Исходный код:
- IExecutionStrategy.cs
- Исходный код:
- IExecutionStrategy.cs
Выполняет указанную асинхронную операцию и возвращает результат.
public System.Threading.Tasks.Task<TResult> ExecuteAsync<TState,TResult> (TState state, Func<Microsoft.EntityFrameworkCore.DbContext,TState,System.Threading.CancellationToken,System.Threading.Tasks.Task<TResult>> operation, Func<Microsoft.EntityFrameworkCore.DbContext,TState,System.Threading.CancellationToken,System.Threading.Tasks.Task<Microsoft.EntityFrameworkCore.Storage.ExecutionResult<TResult>>> verifySucceeded, System.Threading.CancellationToken cancellationToken = default);
public System.Threading.Tasks.Task<TResult> ExecuteAsync<TState,TResult> (TState state, Func<Microsoft.EntityFrameworkCore.DbContext,TState,System.Threading.CancellationToken,System.Threading.Tasks.Task<TResult>> operation, Func<Microsoft.EntityFrameworkCore.DbContext,TState,System.Threading.CancellationToken,System.Threading.Tasks.Task<Microsoft.EntityFrameworkCore.Storage.ExecutionResult<TResult>>>? verifySucceeded, System.Threading.CancellationToken cancellationToken = default);
abstract member ExecuteAsync : 'State * Func<Microsoft.EntityFrameworkCore.DbContext, 'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<'Result>> * Func<Microsoft.EntityFrameworkCore.DbContext, 'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<Microsoft.EntityFrameworkCore.Storage.ExecutionResult<'Result>>> * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Result>
Public Function ExecuteAsync(Of TState, TResult) (state As TState, operation As Func(Of DbContext, TState, CancellationToken, Task(Of TResult)), verifySucceeded As Func(Of DbContext, TState, CancellationToken, Task(Of ExecutionResult(Of TResult))), Optional cancellationToken As CancellationToken = Nothing) As Task(Of TResult)
Параметры типа
- TState
Тип состояния.
- TResult
Тип результата , Task<TResult> возвращаемый operation
.
Параметры
- state
- TState
Состояние, которое будет передано операции.
- operation
- Func<DbContext,TState,CancellationToken,Task<TResult>>
Функция, возвращающая запущенную задачу типа TResult
.
- verifySucceeded
- Func<DbContext,TState,CancellationToken,Task<ExecutionResult<TResult>>>
Делегат, проверяющий, успешно ли выполнена операция, даже если возникло исключение.
- cancellationToken
- CancellationToken
Маркер отмены, используемый для отмены операции повтора, но не операции, которые уже находятся в тестовом режиме или уже успешно завершены.
Возвращаемое значение
Задача, которая будет выполняться до завершения, если исходная задача успешно завершается (первый раз или после повторных временных сбоев). Если задача завершается сбоем с невременной ошибкой или достигнут предел повторных попыток, возвращаемая задача завершится ошибкой и должно наблюдаться исключение.
Исключения
Операция не выполнена после заданного количества повторных попыток.
Если CancellationToken отменяется.
Комментарии
Дополнительные сведения и примеры см. в статье Устойчивость подключения и повторные попытки базы данных .
Применяется к
Entity Framework