asp.net-core – 我可以在不是ASP.NET Core的.NET.core应用程序中使用HttpClientFactory吗?

我已经阅读了使用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();
}

相关文章

本文将从上往下,循序渐进的介绍一系列相关.NET的概念,先从...
基于 .NET 的一个全新的、好用的 PHP SDK + Runtime: Pe...
.NET 异步工作原理介绍。
引子 .NET 6 开始初步引入 PGO。PGO 即 Profile Guided Opti...
前言 2021/4/8 .NET 6 Preview 3 发布,这个版本的改进大多来...
前言 开头防杠:.NET 的基础库、语言、运行时团队从来都是相...