AddTransientHttpErrorPolicy和AddPolicyHandler有什么区别?

时间:2018-06-27 10:25:35

标签: microservices asp.net-core-webapi polly resiliency httpclientfactory

我想使用Polly应用弹性策略。我正在使用ASP.NET Core 2.1中的HttpClientFactory。我在Polly GitHub wiki上找到了一些指南。有两种这样的策略配置方法-使用AddTransientHttpErrorPolicy和AddPolicyHandler,但是没有太多解释。它们之间有什么区别?

1 个答案:

答案 0 :(得分:1)

.AddTransientHttpErrorPolicy(...)为您嵌入了要处理的 规范(如in the wiki所述的网络故障,5xx和408响应)。您只需指定操作方式(例如重试,断路器)。

使用.AddPolicyHandler(...),您可以自己指定整个策略:要处理的所有 (。Handle<>().Or<>().OrResult<HttpResponseMessage()等)和如何处理(例如重试,断路器)。如here in the Polly wiki所示。

除此之外,IHttpClientFactory与配置的策略的工作方式没有任何区别。