【发布时间】:2021-04-08 14:04:09
【问题描述】:
我有这段代码,我正在使用 Polly 处理失败的网络请求,我想知道是否有办法在使用 polly 进行几次故障转移后将域从 https://www.api1.com 更改为 https://www.api2.com,
var logger = new LoggerConfiguration()
.MinimumLevel.Verbose()
.Enrich.FromLogContext()
.WriteTo.ColoredConsole()
.CreateLogger();
var httpClient = new HttpClient();
var response = await Policy
.HandleResult<HttpResponseMessage>(message => !message.IsSuccessStatusCode)
.WaitAndRetryAsync(3, i => TimeSpan.FromSeconds(2), (result, timeSpan, retryCount, context) =>
{
logger.Warning($"Request failed with {result.Result.StatusCode}. Waiting {timeSpan} before
next retry. Retry attempt {retryCount}");
})
.ExecuteAsync(() => httpClient.GetAsync("https://www.api1.com"));
if (response.IsSuccessStatusCode)
logger.Informa`enter code here`tion("Response was successful.");
else
logger.Error($"Response failed. Status code {response.StatusCode}");
提前谢谢你!
【问题讨论】:
标签: c# .net asp.net-core .net-core blazor