ExecutionStrategyExtensions.ExecuteInTransactionAsync 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
重载
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
用于取消重试操作的取消令牌,但不是已处于未完成状态或已成功完成的操作。
返回
如果原始任务在首次或重试暂时性故障) 后成功完成 (成功完成,则会运行到完成的任务。 如果任务失败并出现非暂时性错误或达到重试限制,则返回的任务将出错,必须观察到异常。
例外
在配置的重试次数后,操作未成功。
注解
有关详细信息和示例,请参阅 连接复原能力和数据库重试 。
适用于
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
返回operation
的 Task<TResult> 的结果类型。
参数
- strategy
- IExecutionStrategy
将用于执行的策略。
- operation
- Func<CancellationToken,Task<TResult>>
返回类型 TResult
为 的已启动任务的函数。
- verifySucceeded
- Func<CancellationToken,Task<Boolean>>
一个委托,它测试操作是否成功,即使提交事务时引发了异常。
- 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
返回operation
的 Task<TResult> 的结果类型。
参数
- 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
返回operation
的 Task<TResult> 的结果类型。
参数
- strategy
- IExecutionStrategy
将用于执行的策略。
- state
- TState
将传递给操作的状态。
- operation
- Func<TState,CancellationToken,Task<TResult>>
返回类型 TResult
为 的已启动任务的函数。
- verifySucceeded
- Func<TState,CancellationToken,Task<Boolean>>
一个委托,它测试操作是否成功,即使提交事务时引发了异常。
- 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
返回operation
的 Task<TResult> 的结果类型。
参数
- 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
用于取消重试操作的取消令牌,但不是已处于未完成状态或已成功完成的操作。
返回
如果原始任务在首次或重试暂时性故障) 后成功完成 (成功完成,则会运行到完成的任务。 如果任务失败并出现非暂时性错误或达到重试限制,则返回的任务将出错,必须观察到异常。
例外
在配置的重试次数后,操作未成功。
注解
有关详细信息和示例,请参阅 连接复原能力和数据库重试 。
适用于
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
用于取消重试操作的取消令牌,但不是已处于未完成状态或已成功完成的操作。
返回
如果原始任务在首次或重试暂时性故障) 后成功完成 (成功完成,则会运行到完成的任务。 如果任务失败并出现非暂时性错误或达到重试限制,则返回的任务将出错,必须观察到异常。
例外
在配置的重试次数后,操作未成功。
注解
有关详细信息和示例,请参阅 连接复原能力和数据库重试 。