1. 建立 ASP.NET Core 應用程式並設定 IHttpClientFactory
首先,在你的 ASP.NET Core 應用程式中配置 IHttpClientFactory。這通常是在 Startup.cs 中完成的。
Startup.cs
csharp
public class Startup
{
    public void ConfigureServices(IServiceCollection services)
    {
        services.AddHttpClient(); // 註冊 IHttpClientFactory 服務
        services.AddTransient(); // 註冊你的服務
    }
    // 其他設定...
}
 
2. 在 Class Library 中使用 IHttpClientFactory
接下來,在你的 Class Library 中建立一個服務類別,並注入 IHttpClientFactory。
IMyService.cs (Class Library)
csharp
public interface IMyService
{
    Task GetDataAsync();
}
 
MyService.cs (Class Library)
csharp
using System.Net.Http;
using System.Threading.Tasks;
public class MyService : IMyService
{
    private readonly IHttpClientFactory _httpClientFactory;
    public MyService(IHttpClientFactory httpClientFactory)
    {
        _httpClientFactory = httpClientFactory;
    }
    public async Task GetDataAsync()
    {
        var client = _httpClientFactory.CreateClient();
        var response = await client.GetAsync("https://api.example.com/data");
        response.EnsureSuccessStatusCode();
        var data = await response.Content.ReadAsStringAsync();
        return data;
    }
}
 
3. 在 ASP.NET Core 應用程式中使用 Class Library 中的服務
最後,在 ASP.NET Core 應用程式中使用你在 Class Library 中建立的服務。
HomeController.cs (ASP.NET Core 應用程式)
csharp
using Microsoft.AspNetCore.Mvc;
using System.Threading.Tasks;
public class HomeController : Controller
{
    private readonly IMyService _myService;
    public HomeController(IMyService myService)
    {
        _myService = myService;
    }
    public async Task Index()
    {
        var data = await _myService.GetDataAsync();
        ViewData["Data"] = data;
        return View();
    }
}
 
4. 設定依賴注入
確保你的 ASP.NET Core 應用程式已正確設定依賴注入,以便 IHttpClientFactory 和你的服務可以被注入。
Startup.cs
csharp
public class Startup
{
    public void ConfigureServices(IServiceCollection services)
    {
        services.AddHttpClient(); // 註冊 IHttpClientFactory 服務
        services.AddTransient(); // 註冊你的服務
    }
    // 其他設定...
}
 
5. 總結
以下是主要步驟的總結:
在 ASP.NET Core 應用程式中註冊 IHttpClientFactory。
在 Class Library 中建立服務類別並注入 IHttpClientFactory。
在 ASP.NET Core 應用程式中使用 Class Library 中的服務。
這樣,你就可以在 Class Library 中使用 IHttpClientFactory,並將這些服務注入到你的 ASP.NET Core 應用程式中,實現高效的 HttpClient 管理和重用。