Мне нужно зарегистрировать httpclient, который использует мой провайдер конфигурации для получения сертификата. Проблема, с которой я сталкиваюсь, заключается в том, что пользовательский поставщик зарегистрирован в контейнере конфигурации и недоступен до окончания обслуживания .Build()
. Мой пользовательский провайдер получает сертификат из хранилища ключей.
Было бы замечательно, если бы здесь был способ указать мой пользовательский провайдер конфигурации в ConfigureServices , а затем загрузить сертификат после * 1008. *.Build()
?
Затем я получу доступ к этому клиенту, используя HttpClientFactory.CreateClient("CertificateClient")
.
Есть ли способ сделать это?
public void ConfigureServices(IServiceCollection services)
{
services.AddHttpClient("CertificateClient")
.ConfigurePrimaryHttpMessageHandler(() =>
{
var handler = new HttpClientHandler();
handler.ClientCertificates.Add(??? my custom provider here ???);
return handler;
});
// ...
}