В чем разница между AddTransientHttpErrorPolicy и AddPolicyHandler?

Я хочу применить стратегию устойчивости, используя Полли. Я использую HttpClientFactory из ASP.NET Core 2.1. Я нашел руководство по вики Polly GitHub. Есть два способа настройки такой политики - использование AddTransientHttpErrorPolicy и AddPolicyHandler, но это не очень объяснение. В чем разница между ними?

1 ответ

Решение

.AddTransientHttpErrorPolicy(...) встраивает для вас спецификацию того, что обрабатывать (сбои сети, ответы 5xx и 408, как описано в вики). Вам нужно только указать, как обращаться (например, повторить попытку, автоматический выключатель).

С .AddPolicyHandler(...) Вы сами указываете всю политику: как с этим обращаться (. Handle<>(), .Or<>(), .OrResult<HttpResponseMessage() и т.д.) и как обращаться (например, повторная попытка, автоматический выключатель). Как показано здесь, в вики Полли.

Помимо этого, нет никаких различий в том, как IHttpClientFactory работает с настроенными политиками.

Другие вопросы по тегам