Asp.net core 如何从Polly retry更改HttpMessageHandler的配置?

Asp.net core 如何从Polly retry更改HttpMessageHandler的配置?,asp.net-core,dotnet-httpclient,polly,Asp.net Core,Dotnet Httpclient,Polly,我有以下问题。我有一个代理集。如果通过代理的请求非常慢或崩溃,我希望在没有代理的情况下重试 对于设置代理,我在Startup.cs文件中有以下代码: services.AddHttpClient<ICheckPackagesService, CheckPackagesService>(x => { x.Timeout = TimeSpan.FromSeconds(10); }).ConfigurePrimaryHttpMessageHandler(() => ne

我有以下问题。我有一个代理集。如果通过代理的请求非常慢或崩溃,我希望在没有代理的情况下重试

对于设置代理,我在
Startup.cs
文件中有以下代码:

services.AddHttpClient<ICheckPackagesService, CheckPackagesService>(x =>
{
    x.Timeout = TimeSpan.FromSeconds(10);
}).ConfigurePrimaryHttpMessageHandler(() => new SocketsHttpHandler
{
    Proxy = new WebProxy(IpService.GetIp())
});
services.AddHttpClient(x=>
{
x、 超时=从秒开始的时间跨度(10);
}).ConfigurePrimaryHttpMessageHandler(()=>new-SocketsHttpHandler
{
Proxy=新的WebProxy(IpService.GetIp())
});
但我无法想象在没有代理的情况下发送一个新请求需要做什么(当然,如果前一个请求崩溃了!)。对官方文件的快速研究对我毫无帮助

请分享您在这个案例中的经验。谢谢大家!

另外,我使用
.netcore2.2.401

谢谢你

因此,您不能使用通过HttpClientFactory配置的Polly重试策略通过新代理进行调用(通过HttpClientFactory配置的Polly策略无效)

如中所述,请改用在IHttpClientFactory上定义的命名客户端,并为每个代理端点定义一个命名客户端