Logo vi.boatexistence.com

Httpclient nên là thoáng qua hay đơn lẻ?

Mục lục:

Httpclient nên là thoáng qua hay đơn lẻ?
Httpclient nên là thoáng qua hay đơn lẻ?
Anonim

Lớp phù hợp hơn như một lớp đơn chomột miền ứng dụng duy nhất. Điều này có nghĩa là singleton nên được chia sẻ trên nhiều lớp vùng chứa. Với chiến thuật này, bạn sẽ nhận được một singleton, nhưng điều này gây khó khăn cho việc chia sẻ. Lớp HttpClient triển khai giao diện IDisposable.

Chúng ta có nên tạo một phiên bản mới của HttpClient cho tất cả các yêu cầu không?

Mặc dù nó thực hiện giao diện IDisposable nhưng thực sự là một đối tượng được chia sẻ. Điều này có nghĩa là bên dưới các nắp, nó được gắn lại và chỉ an toàn. Thay vì tạo một phiên bản mới của HttpClient cho mỗi lần thực thi, bạn nên chia sẻ một phiên bảncủa HttpClient trong toàn bộ thời gian của ứng dụng.

Bạn có nên sử dụng lại HttpClient không?

HttpClient là nhằm mục đích khởi tạo một lầnvà được sử dụng lại trong suốt vòng đời của ứng dụng. Khởi tạo một lớp HttpClient cho mọi yêu cầu sẽ làm cạn kiệt số lượng ổ cắm có sẵn khi chịu tải nặng. Điều này sẽ dẫn đến lỗi SocketException.

Có phải HttpClient không được quản lý không?

Mặc dù HttpClient thực hiện gián tiếp giao diện IDisposable, cách sử dụng tiêu chuẩn của HttpClient là không loại bỏ nó sau mỗi lần yêu cầu. Đối tượng HttpClient được thiết kế để tồn tại miễn là ứng dụng của bạn cần thực hiện các yêu cầu HTTP.

Chỉ HttpClient có an toàn không?

HttpClient hoàn toàn an toàn theo luồng khiđược sử dụng với trình quản lý kết nối an toàn theo luồng như MultiThreadedHttpConnectionManager. … Đồng thời, phiên bản HttpClient và trình quản lý kết nối nên được chia sẻ giữa tất cả các luồng để đạt hiệu quả tối đa.

Đề xuất: