
HttpClient & Networking
HttpClient, HttpClientFactory, request/response, xử lý lỗi, retry policies, mẫu async
1Tại sao nên dùng IHttpClientFactory thay vì khởi tạo HttpClient trực tiếp?
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ả.
2Sự khác biệt chính giữa Named Client và Typed Client là gì?
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.
3Là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?
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.
Phương thức nào cho phép đọc body của phản hồi HTTP dưới dạng chuỗi?
Vai trò của DelegatingHandler trong pipeline HttpClient là gì?
+17 câu hỏi phỏng vấn
Các chủ đề phỏng vấn .NET khác
Cơ bản về C#
LINQ & Delegates
Kiến thức cốt lõi ngôn ngữ C#
Kiến thức cơ bản về ASP.NET Core
Vòng đời request trong ASP.NET Core
Configuration & Settings
Vòng đời ứng dụng
Dependency Injection
Entity Framework Core
Minimal APIs
Phát triển Web API
Async trong ASP.NET Core
Authentication & Authorization
Tuần tự hóa JSON
Entity Framework Core nâng cao
Các tính năng nâng cao của C#
Clean Architecture
Logging, Monitoring & Observability
Kiểm thử đơn vị & xUnit
Kiểm thử tích hợp
Docker & Containerization
Quản lý gói NuGet
Memory Management & GC
Lập trình phản ứng
Async/await & Mẫu thiết kế
.NET Design Patterns
Tối ưu hóa hiệu năng
Bảo mật & Best Practices
SignalR & Thời gian thực
Kiến trúc Microservices
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í