Đối với ứng dụng .NET Framework, hãy đăng ký mô-đun proxy dưới configuration/system.net/defaultProxy:

<defaultProxy>
  <module type="Company.Network.RoutingProxy, Company.Network" />
</defaultProxy>

Tên đầu tiên là kiểu và tên thứ hai là danh tính assembly, không phải đường dẫn DLL. Assembly và các phụ thuộc phải được tải theo quy tắc thông thường của ứng dụng.

Kiểm tra hai cổng. Thứ nhất, runtime phải tạo một kiểu công khai triển khai IWebProxy thông qua hàm tạo không tham số. Giữ lại các ngoại lệ bên trong từ lỗi tải hoặc tạo; chúng xuất hiện trước mọi kết nối TCP proxy. Với bản phát hành máy tính để bàn, hãy xác nhận rằng đăng ký đã đến cấu hình đã triển khai của tệp thực thi. Với ClickOnce, so sánh .exe.config đã xây dựng, đã phát hành và đã cài đặt. App.config của thư viện lớp thường không cấu hình tiến trình máy chủ của nó.

Thứ hai, yêu cầu phải sử dụng giá trị mặc định đó. Việc gán proxy rõ ràng có thể thay thế nó, và một ngăn xếp HTTP khác có thể không đọc mô hình cấu hình này. Bên trong mô-đun, GetProxy và IsBypassed cần các quyết định nhất quán, với URI proxy tuyệt đối sử dụng đúng lược đồ và cổng.

Hãy làm cho hành vi thông tin đăng nhập nhất quán. Một getter tạo tài khoản mã hóa cứng và bỏ qua setter của nó có thể vô hiệu hóa cấu hình sau này ngay cả sau khi tải thành công.

Đây là cơ chế bảo trì cho .NET Framework. Hãy dùng cấu hình proxy được ứng dụng mạng hỗ trợ trong .NET hiện tại thay vì kỳ vọng đăng ký system.net kế thừa này sẽ chi phối mọi HttpClient.

Bài viết liên quan