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