我有一个.NET Core类库。使用IHttpClientFactory创建HttpClient实例,而不需要依赖注入。我在我的类库中包含了Microsoft DI nuget包。
示例代码#1:
使用依赖注入(DI),我们可以配置自定义的消息处理程序: 带有DI的示例代码#2:
我想在我的示例代码#1中添加HttpClientHandler,而不使用依赖注入。 如何在没有依赖注入的情况下配置主要的消息处理程序?
示例代码#1:
Class A {
private readonly HttpClient client;
public A(){
var serviceProvider = new ServiceCollection().AddHttpClient().BuildServiceProvider();
var _httpClientFactory = serviceProvider.GetService<IHttpClientFactory>();
client = _httpClientFactory.CreateClient(); //HttpClient instance created
//TODO: Add custom message handler without DI.
}
}
使用依赖注入(DI),我们可以配置自定义的消息处理程序: 带有DI的示例代码#2:
services.AddHttpClient()
.ConfigurePrimaryHttpMessageHandler(() =>
{
return new HttpClientHandler
{
ServerCertificateCustomValidationCallback = (m, crt, chn, e) => true
};
});
我想在我的示例代码#1中添加HttpClientHandler,而不使用依赖注入。 如何在没有依赖注入的情况下配置主要的消息处理程序?
services.BuildServiceProvider().GetService<HttpClient>()
从services
中获取HttpClient
。 - Neville Nazerane