学习eshopContainer-Policy

结合日志使用Policy

private Policy CreatePolicy( ILogger<CatalogContextSeed> logger, string prefix,int retries = 3)
{
return Policy.Handle<SqlException>().
WaitAndRetryAsync(
retryCount: retries,
sleepDurationProvider: retry => TimeSpan.FromSeconds(5),
onRetry: (exception, timeSpan, retry, ctx) =>
{
logger.LogWarning(exception, "[{prefix}] Exception {ExceptionType} with message {Message} detected on attempt {retry} of {retries}",
prefix,
exception.GetType().Name,
exception.Message,
retry,
retries);
}
);
}

posted on 2020-08-26 14:27  1老王  阅读(209)  评论(0编辑  收藏  举报