IHttpClientFactory without ASP.NET's Dependency Injection
Sometimes you don’t want to use ASP.NET’s Dependency Injection, in some of these cases, you can get away by using other forms of dependency injection (specially in F#). However, one of the things that I always missed was the IHttpClientFactory interface.
The HttpClient injected by ASP.NET manages a lot for you, ranging from DNS changes to thread-safety. Here’s how you can use without ASP.NET’s services:
open Microsoft.AspNetCore.Builder
open Microsoft.Extensions.DependencyInjection
let builder = Host.CreateApplicationBuilder()
let serviceProvider = ServiceCollection().AddHttpClient().BuildServiceProvider();
let factory = serviceProvider.GetService<IHttpClientFactory>();
// usage example
let client = factory.CreateClient()