J'ai lu le blog populaire https://www.stevejgordon.co.uk/introduction-to-httpclientfactory-aspnetcore sur l'utilisation de HttpClientFactory
Pour en citer
Une nouvelle fonctionnalité HttpClientFactory arrive ASP.NET Core 2.1 qui aide à résoudre certains problèmes courants que les développeurs peuvent rencontrer lorsqu'ils utilisent des instances HttpClient pour créer un site Web externe demandes de leurs demandes.
Tous les exemples montrent le câblage dans la classe de démarrage de l'application asp.net, par ex.
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
services.AddHttpClient();
}
Ma question est: pouvez-vous utiliser en dehors du noyau ASP.NET? Et si oui, y a-t-il des exemples
J'aurais pensé que beaucoup d'applications non Web (applications de base .net) doivent passer des appels Web, alors pourquoi cela ne faisait-il pas partie de l'API de base .net au lieu de le mettre dans l'API de base asp.net
Merci pour les réponses.
Il est donc possible d'utiliser dans l'application console.
Il existe plusieurs façons de procéder, selon la direction que vous souhaitez suivre. En voici 2:
Ajoutez directement à ServiceCollection, par ex. services.AddHttpClient ()
tiliser l'hôte générique par exemple Ajoutez httpclientFactory dans la méthode .ConfigureServices ()
Voir ici pour article de blog utilisant dans l'application console
Selon la documentation HttpClientFactory fait partie de .Net Core 2.1, vous n'avez donc pas besoin d'ASP.NET pour l'utiliser. Et là quelques façons d'utiliser sont décrites. Le moyen le plus simple serait d'utiliser Microsoft.Extensions.DependencyInjection avec la méthode d'extension AddHttpClient
.
static void Main(string[] args)
{
var serviceProvider = new ServiceCollection().AddHttpClient().BuildServiceProvider();
var httpClientFactory = serviceProvider.GetService<IHttpClientFactory>();
var client = httpClientFactory.CreateClient();
}