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


ExecutionStrategyExtensions.ExecuteInTransactionAsync Метод

Определение

Перегрузки

ExecuteInTransactionAsync(IExecutionStrategy, Func<Task>, Func<Task<Boolean>>)

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

ExecuteInTransactionAsync(IExecutionStrategy, Func<CancellationToken,Task>, Func<CancellationToken,Task<Boolean>>, CancellationToken)

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

ExecuteInTransactionAsync<TResult>(IExecutionStrategy, Func<CancellationToken, Task<TResult>>, Func<CancellationToken,Task<Boolean>>, CancellationToken)

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

ExecuteInTransactionAsync<TState,TResult>(IExecutionStrategy, Func<TState,CancellationToken,Task<TResult>>, Func<TState,CancellationToken, Task<Boolean>>, TState, DbContext, CancellationToken)

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

ExecuteInTransactionAsync<TState,TResult>(IExecutionStrategy, TState, Func<TState,CancellationToken,Task<TResult>>, Func<TState, CancellationToken,Task<Boolean>>, CancellationToken)

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

ExecuteInTransactionAsync<TState,TResult>(IExecutionStrategy, TState, Func<TState,CancellationToken,Task<TResult>>, Func<TState, CancellationToken,Task<Boolean>>, Func<DbContext,CancellationToken, Task<IDbContextTransaction>>, CancellationToken)

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

ExecuteInTransactionAsync<TState>(IExecutionStrategy, TState, Func<TState,CancellationToken,Task>, Func<TState,CancellationToken, Task<Boolean>>, CancellationToken)

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

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

Стратегия, которая будет использоваться для выполнения.

operation
Func<Task>

Функция, возвращающая запущенную задачу.

verifySucceeded
Func<Task<Boolean>>

Делегат, проверяющий успешность операции, несмотря на то, что при фиксации транзакции было создано исключение.

Возвращаемое значение

Задача, которая будет выполняться до завершения, если исходная задача успешно завершается (первый раз или после повторных временных сбоев). Если задача завершается сбоем с невременной ошибкой или достигнут предел повторных попыток, возвращаемая задача завершится ошибкой и должно наблюдаться исключение.

Исключения

Операция не выполнена после заданного количества повторных попыток.

Комментарии

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

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

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

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

Возвращаемое значение

Task<TResult>

Задача, которая будет выполняться до завершения, если исходная задача успешно завершается (первый раз или после повторных временных сбоев). Если задача завершается сбоем с невременной ошибкой или достигнут предел повторных попыток, возвращаемая задача завершится ошибкой и должно наблюдаться исключение.

Исключения

Операция не выполнена после заданного количества повторных попыток.

Если 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

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

Возвращаемое значение

Task<TResult>

Задача, которая будет выполняться до завершения, если исходная задача успешно завершается (первый раз или после повторных временных сбоев). Если задача завершается сбоем с невременной ошибкой или достигнут предел повторных попыток, возвращаемая задача завершится ошибкой и должно наблюдаться исключение.

Исключения

Возникает, если операция не завершилась успешно после заданного количества повторных попыток.

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

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

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

Возвращаемое значение

Task<TResult>

Задача, которая будет выполняться до завершения, если исходная задача успешно завершается (первый раз или после повторных временных сбоев). Если задача завершается сбоем с невременной ошибкой или достигнут предел повторных попыток, возвращаемая задача завершится ошибкой и должно наблюдаться исключение.

Исключения

Операция не выполнена после заданного количества повторных попыток.

Если 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

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

Возвращаемое значение

Task<TResult>

Задача, которая будет выполняться до завершения, если исходная задача успешно завершается (первый раз или после повторных временных сбоев). Если задача завершается сбоем с невременной ошибкой или достигнут предел повторных попыток, возвращаемая задача завершится ошибкой и должно наблюдаться исключение.

Исключения

Операция не выполнена после заданного количества повторных попыток.

Если 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 отменяется.

Комментарии

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

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