.NET

HttpClient & Networking

HttpClient, HttpClientFactory, request/response, xử lý lỗi, retry policies, mẫu async

20 câu hỏi phỏng vấn·
Mid-Level
1

Tại sao nên dùng IHttpClientFactory thay vì khởi tạo HttpClient trực tiếp?

Câu trả lời

IHttpClientFactory tự động quản lý vòng đời của các instance HttpClient và ngăn chặn socket exhaustion. Việc khởi tạo HttpClient trực tiếp trong một câu lệnh using có thể gây ra vấn đề kết nối ở trạng thái TIME_WAIT vẫn mở ngay cả sau khi disposal. Sử dụng IHttpClientFactory cũng cho phép cấu hình các chính sách phục hồi với Polly và quản lý connection pooling hiệu quả.

2

Sự khác biệt chính giữa Named Client và Typed Client là gì?

Câu trả lời

Typed Client đóng gói logic gọi HTTP trong một lớp chuyên dụng với dependency injection, trong khi Named Client được lấy qua IHttpClientFactory.CreateClient(name). Typed Client cung cấp sự phân tách trách nhiệm tốt hơn và tạo điều kiện cho unit testing bằng cách đóng gói cấu hình và logic nghiệp vụ. Named Client hữu ích cho các trường hợp đơn giản cần nhiều cấu hình khác nhau mà không có logic nghiệp vụ phức tạp.

3

Làm thế nào để cấu hình timeout toàn cục cho tất cả các instance HttpClient trong một ứng dụng?

Câu trả lời

Cấu hình timeout qua ConfigurePrimaryHttpMessageHandler cho phép định nghĩa timeout ở cấp độ handler áp dụng cho tất cả các client được tạo bởi factory. Cách tiếp cận này tập trung hóa cấu hình và tránh lặp lại mã. Cũng có thể cấu hình timeout riêng lẻ trên từng HttpClient, nhưng điều này trở nên khó bảo trì trong một ứng dụng lớn với nhiều client được cấu hình.

4

Phương thức nào cho phép đọc body của phản hồi HTTP dưới dạng chuỗi?

5

Vai trò của DelegatingHandler trong pipeline HttpClient là gì?

+17 câu hỏi phỏng vấn

Nắm vững .NET cho lần phỏng vấn tiếp theo

Truy cập tất cả câu hỏi, flashcards, bài kiểm tra kỹ thuật, bài tập code review và mô phỏng phỏng vấn.

Bắt đầu miễn phí