C # Flurl - Добавить WebRequestHandler для FlurlClient

Я работаю сFlurl ударить API, который требует проверки подлинности на основе сертификатов. Я видел изэтот ТАК пост что добавление сертификата вWebRequestHandler и инструктируяHttpClient использовать этот обработчик легко.

Тем не менее, мне не так понятно использование Flurl. Я попробовал следующие три вещи.

Расширение DefaultHttpFactory

Сначала я подозревал, что мне нужно создать свой собственныйX509HttpFactory : DefaultHttpFactory который создаст обработчик и назначит егоHttpClient, Однако при просмотре исходного кода я заметил, что конструктор дляCreateClient уже ожидает обработчик. Откуда этот обработчик?

Создание клиента с помощью DefaultHttpFactory

WebRequestHandler handler = new WebRequestHandler();
handler.ClientCertificates.Add(myX509Cert);
var clientFactory = new DefaultHttpClientFactory();
FlurlClient fc = clientFactory.CreateClient(url, handler);

Это не компилируется какHttpClient не может быть приведен кFlurlClient

Используйте ConfigureHttpClient

var clientFactory = new DefaultHttpClientFactory();
FlurlClient fc = new Url("foobar.com").ConfigureHttpClient(client => client = clientFactory
  .CreateClient(url, handler));

Это кажется наиболее приемлемым вариантом, но я не уверен, так как делегатAction без типа возврата.

Вопрос

Каков наилучший / правильный способ поддержки проверки подлинности сертификата на стороне клиента с использованием Flurl?

Ответы на вопрос(1)

Ваш ответ на вопрос