【发布时间】:2014-06-23 07:27:44
【问题描述】:
可能重复:
Retry a task multiple times based on user input in case of an exception in task
我正在寻找一种在 TPL 中实现重试逻辑的方法。我想要一个通用函数/类,它能够返回一个任务,该任务将执行给定的操作,并且在出现异常的情况下将重试该任务,直到给定的重试计数。我尝试使用 ContinueWith 并让回调在出现异常时创建一个新任务,但它似乎只适用于固定数量的重试。有什么建议吗?
private static void Main()
{
Task<int> taskWithRetry = CreateTaskWithRetry(DoSometing, 10);
taskWithRetry.Start();
// ...
}
private static int DoSometing()
{
throw new NotImplementedException();
}
private static Task<T> CreateTaskWithRetry<T>(Func<T> action, int retryCount)
{
}
【问题讨论】:
标签: c# .net task-parallel-library