C # Flurl - Agregue WebRequestHandler a FlurlClient

Estoy trabajando conFlurl golpear una API que requiere autenticación basada en certificados. He visto desdeesta publicación SO que agregar un certificado a unWebRequestHandler e instruir a unHttpClient Usar este controlador es fácil.

Sin embargo, no está tan claro para mí usar Flurl. He intentado las siguientes tres cosas.

Extender DefaultHttpFactory

Primero sospeché que necesitaba crear mi propioX509HttpFactory : DefaultHttpFactory que crearía el controlador y lo asignaría aHttpClient. Sin embargo, al ver la fuente, noto que el constructor deCreateClient Ya espera un controlador. ¿De dónde viene este controlador?

Crear cliente usando DefaultHttpFactory

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

Esto no se compila comoHttpClient no puede ser lanzado aFlurlClient

Utilice ConfigureHttpClient

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

Esta parece ser la opción más viable, pero no estoy seguro ya que el delegado es unAction sin tipo de retorno.

La pregunta

¿Cuál es la mejor / correcta forma de admitir la autenticación de certificados del lado del cliente con Flurl?

Respuestas a la pregunta(1)

Su respuesta a la pregunta