.NET IHttpClientFactory: cấu hình proxy cho máy khách có tên
Gắn proxy vào trình xử lý chính của máy khách có tên trong IHttpClientFactory và dùng lại chính tên đó tại điểm gọi.
Một proxy được cấu hình cho một HttpClient có tên không tự động cấu hình mọi máy khách do IHttpClientFactory trả về. Hãy giữ tên đăng ký và tên được yêu cầu đi cùng nhau.
services.AddHttpClient("via-proxy")
.ConfigurePrimaryHttpMessageHandler(() => new HttpClientHandler
{
Proxy = new WebProxy("http://203.0.113.10:8080"),
UseProxy = true
});Sau đó truy xuất cấu hình có tên ấy:
var client = factory.CreateClient("via-proxy");Điểm cuối chỉ mang tính minh họa. Với các yêu cầu được phép đến dịch vụ công cộng, danh sách proxy HTTP cung cấp các ứng viên cho URL WebProxy của máy khách có tên. Tạo máy khách mặc định không tên ở nơi khác là một lần tra cứu khác, kể cả khi cả hai máy khách đến từ cùng một factory được chèn.
Hãy cấu hình hành vi proxy ở cấp kết nối trên trình xử lý chính thay vì coi nó là tiêu đề yêu cầu đích. Factory có thể quản lý vòng đời của trình xử lý tách biệt với các đối tượng HttpClient mà nó trả về.
Nếu lời gọi thuộc về một máy khách có kiểu hoặc một SDK khác, hãy kiểm tra đăng ký nào cung cấp HttpClient của nó. Một máy khách có tên được cấu hình đúng nhưng không bao giờ dùng sẽ không ảnh hưởng đến đường mạng của SDK đó.
Dùng cấu hình này cho một chính sách định tuyến ổn định. Thay đổi trình xử lý đang hoạt động giữa các thao tác vẫn là một vấn đề riêng về tương tranh và vòng đời.