我已经阅读了使用HttpClientFactory的热门博客文章
https://www.stevejgordon.co.uk/introduction-to-httpclientfactory-aspnetcore
引用它
A new HttpClientFactory feature is coming in ASP.NET Core 2.1 which helps to solve some common problems that developers may run into when using HttpClient instances to make external web requests from their applications.
所有示例都显示在asp.net应用程序的启动类中连接它,例如
public void ConfigureServices(IServiceCollection services) { services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1); services.AddHttpClient(); }
我的问题是你可以在ASP.NET核心之外使用吗?
如果是这样的例子
我会想到很多非Web应用程序(.net核心应用程序)需要进行Web调用,那么为什么这不是.net core api的一部分而不是放入asp.net core api
解决方法
根据
documentation HttpClientFactory是.Net Core 2.1的一部分,所以你不需要ASP.NET来使用它.
there描述了一些使用方法.最简单的方法是使用Microsoft.Extensions.DependencyInjection和AddHttpClient扩展方法.
static void Main(string[] args) { var serviceProvider = new ServiceCollection().AddHttpClient().BuildServiceProvider(); var httpClientFactory = serviceProvider.GetService<IHttpClientFactory>(); var client = httpClientFactory.CreateClient(); }