IWebProxy policy = WebRequest.GetSystemWebProxy();
request.Proxy = policy;

Giữ đối tượng được trả về dưới dạng IWebProxy. Đoạn này áp dụng cho mã hiện có dựa trên WebRequest, không phải khuyến nghị dùng API cũ đó trong ứng dụng mới.

WebProxy triển khai giao diện, nhưng không phải mọi đối tượng triển khai giao diện đều kế thừa từ WebProxy. Vì vậy một lớp bao của hệ thống có thể từ chối việc ép kiểu trước khi bất kỳ yêu cầu mạng nào xảy ra. Tên lớp riêng của .NET Framework như WebProxyWrapperOpaque là chi tiết triển khai, không phải sự cố điểm cuối proxy hay tài khoản.

Để quyết định tuyến, gọi IsBypassed(destination) và GetProxy(destination) với URI đích thực tế. Việc bỏ qua có thể trả về chính đích đó, và chính sách dựa trên PAC có thể chọn tuyến khác cho máy chủ khác.

Để xác thực, IWebProxy đã hiển thị Credentials. Dùng tài khoản và phương thức được hỗ trợ mà không ép kiểu để truy cập thuộc tính.

Việc trích một URI để dựng WebProxy thay thế sẽ vứt bỏ hành vi theo từng đích của chính sách gốc. Chỉ làm vậy khi một điểm cuối cố định là cấu hình ứng dụng dự định, chứ không phải cách né lỗi kiểu.

Bài viết liên quan