I create a new HttpClient
every time I made a request but after searching on the internet I found that is not the best way to use it.
I should use HttpClientFactory
but every website where I look for, has it used with ServiceCollection()
or IServiceCollection()
like :
var services = new ServiceCollection();
services.AddHttpClient()
var serviceProvider = services.BuildServiceProvider();
or
public void ConfigureServices(.IserviceCollection services)
{
services.addHttpClient(name, lambda expr);
}
When I try to create a new ServiceCollection
, Visual Studio asks me to create a class, so how can I implement HttpClientFactory
in Xamarin?
Edit : I use this link for experimentation but i don't know how to incorporate in my project : I have something like this :
class Database
{
private static HttpClient client = new HttpClient();
async public static Task<string> Some Request() {
try {
...
var response = await client.PostAsync(requestUrl, content);
if (response.StatusCode == HttpStatusCode.OK)
{
return await response.Content.ReadAsStringAsync();
}
return ..
}
catch(...) {...}
}
}
public static class Startup
{
public static IServiceProvider ServiceProvider { get; set; }
public static void Init()
{
//same thing as link without stream
}
static void ConfigureServices(HostBuilderContext ctx, IServiceCollection services)
{
services.AddHttpClient();
}