DbExecutionStrategy.ExecuteAsync 方法 (Func<Task>, CancellationToken)
[本页针对的是实体框架版本 6。最新版本以“实体框架”NuGet 包的形式提供。有关实体框架的更多信息,请参见 msdn.com/data/ef。]
在指定异步操作满足当前重试策略时重复执行此操作。
命名空间: System.Data.Entity.Infrastructure
程序集: EntityFramework(在 EntityFramework.dll 中)
语法
声明
Public Function ExecuteAsync ( _
operation As Func(Of Task), _
cancellationToken As CancellationToken _
) As Task
用法
Dim instance As DbExecutionStrategy
Dim operation As Func(Of Task)
Dim cancellationToken As CancellationToken
Dim returnValue As Task
returnValue = instance.ExecuteAsync(operation, _
cancellationToken)
public Task ExecuteAsync(
Func<Task> operation,
CancellationToken cancellationToken
)
public:
virtual Task^ ExecuteAsync(
Func<Task^>^ operation,
CancellationToken cancellationToken
) sealed
abstract ExecuteAsync :
operation:Func<Task> *
cancellationToken:CancellationToken -> Task
override ExecuteAsync :
operation:Func<Task> *
cancellationToken:CancellationToken -> Task
public final function ExecuteAsync(
operation : Func<Task>,
cancellationToken : CancellationToken
) : Task
参数
- operation
类型:System.Func<Task>
用于返回已启动任务的函数。
- cancellationToken
类型:System.Threading.CancellationToken
用于取消重试操作的取消标记,但是不取消已在执行中或已成功完成的操作。
返回值
类型:System.Threading.Tasks.Task
如果原始任务成功完成(第一次执行或在瞬态失败后重试)将要运行以完成的任务。如果任务失败且发生非瞬态错误或达到重试限制值,则返回的任务将出错且必须显示异常。
Implements
IDbExecutionStrategy.ExecuteAsync(Func<Task>, CancellationToken)
异常
例外 | 条件 |
---|---|
RetryLimitExceededException | 如果重试延迟策略确定不应再重试操作。 |
InvalidOperationException | 如果检测到现有事务且执行策略不支持它。 |
InvalidOperationException | 如果此实例已用于执行某个操作。 |