是的,Asp .Net Core 3 在默认情况下已经注册了 IHttpClientFactory。可以通过以下代码来验证:
在 Startup.cs 中,可以找到 ConfigureServices 方法,其中已经注册了 IHttpClientFactory:
public void ConfigureServices(IServiceCollection services)
{
// ...
services.AddHttpClient();
// ...
}
在 Controller 或其他类中,可以通过以下方式来使用 IHttpClientFactory:
using System.Net.Http;
public class MyController : ControllerBase
{
private readonly IHttpClientFactory _clientFactory;
public MyController(IHttpClientFactory clientFactory)
{
_clientFactory = clientFactory;
}
public async Task MyAction()
{
var client = _clientFactory.CreateClient();
// ...
return View();
}
}
以上代码说明,在 Asp .Net Core 3 中已经默认注册了 IHttpClientFactory,可以通过注入方式来使用它。