ASP核心HttpClientFactory模式使用客户端证书

时间:2018-09-17 16:02:55

标签: c# asp.net-core asp.net-core-2.1

有人知道在使用HttpClientFactory时如何使用客户端证书吗?在我发现的所有示例中,您都需要在HttpMessageHandler构造函数中提供一个HttpClient,而在使用HttpClientFactory

时不可用
        services.AddHttpClient("NamedClient", client =>
        {
            var handler = new HttpClientHandler();
            X509Certificate2 certificate = GetMyX509Certificate();
            handler.ClientCertificates.Add(certificate);
            client. // ?? How do I set the handler?
        });

2 个答案:

答案 0 :(得分:1)

您使用以下命令在http消息处理程序管道中添加HttpMessageHandler

services.AddHttpMessageHandler<HttpClientHandler>()

然后您使用以下命令注册处理程序:

services.AddTransient(provider =>
{
    var handler = new HttpClientHandler();
    X509Certificate2 certificate = GetMyX509Certificate();
    handler.ClientCertificates.Add(certificate);
    return handler;
});

答案 1 :(得分:1)

在火星@agua的帮助下,我能够使用它

courseSubjects