Dispenser/DispenserCommon/Utils/RetryHelper.cs

38 lines
846 B
C#

namespace DispenserCommon.Utils;
/// <summary>
/// 重试工具类
/// </summary>
public class RetryHelper
{
/// <summary>
/// 进行重试
/// </summary>
/// <param name="action"></param>
/// <param name="maxRetries"></param>
/// <returns></returns>
public static bool Retry(Action action, int maxRetries)
{
for (var attempt = 0; attempt < maxRetries; attempt++)
{
try
{
action();
// 成功后返回 true
return true;
}
catch
{
if (attempt == maxRetries - 1)
{
// 超过重试次数返回 false
return false;
}
}
Thread.Sleep(200);
}
return false;
}
}