
HttpClient & Networking
HttpClient, HttpClientFactory, request/response, การจัดการข้อผิดพลาด, retry policies, รูปแบบ async
1ทำไมจึงควรใช้ IHttpClientFactory แทนการสร้างอินสแตนซ์ HttpClient โดยตรง?
ทำไมจึงควรใช้ IHttpClientFactory แทนการสร้างอินสแตนซ์ HttpClient โดยตรง?
คำตอบ
IHttpClientFactory จัดการวงจรชีวิตของอินสแตนซ์ HttpClient โดยอัตโนมัติและป้องกัน socket exhaustion การสร้างอินสแตนซ์ HttpClient โดยตรงในคำสั่ง using อาจทำให้เกิดปัญหาการเชื่อมต่อในสถานะ TIME_WAIT ที่ยังเปิดอยู่แม้หลังจาก disposal การใช้ IHttpClientFactory ยังช่วยให้กำหนดค่านโยบายความยืดหยุ่นด้วย Polly และจัดการ connection pooling ได้อย่างมีประสิทธิภาพ
2ความแตกต่างหลักระหว่าง Named Client กับ Typed Client คืออะไร?
ความแตกต่างหลักระหว่าง Named Client กับ Typed Client คืออะไร?
คำตอบ
Typed Client ห่อหุ้มลอจิกการเรียก HTTP ไว้ในคลาสเฉพาะพร้อม dependency injection ในขณะที่ Named Client ถูกดึงผ่าน IHttpClientFactory.CreateClient(name) Typed Client ให้การแยกความรับผิดชอบที่ดีกว่าและช่วยให้การทดสอบหน่วยง่ายขึ้นโดยห่อหุ้มการกำหนดค่าและลอจิกทางธุรกิจ Named Client มีประโยชน์สำหรับกรณีง่ายๆ ที่ต้องการการกำหนดค่าที่แตกต่างกันหลายแบบโดยไม่มีลอจิกทางธุรกิจที่ซับซ้อน
3จะกำหนดค่า timeout ส่วนกลางสำหรับอินสแตนซ์ HttpClient ทั้งหมดในแอปพลิเคชันได้อย่างไร?
จะกำหนดค่า timeout ส่วนกลางสำหรับอินสแตนซ์ HttpClient ทั้งหมดในแอปพลิเคชันได้อย่างไร?
คำตอบ
การกำหนดค่า timeout ผ่าน ConfigurePrimaryHttpMessageHandler ช่วยให้กำหนด timeout ที่ระดับ handler ซึ่งจะใช้กับไคลเอนต์ทั้งหมดที่สร้างโดย factory แนวทางนี้รวมศูนย์การกำหนดค่าและหลีกเลี่ยงการเขียนโค้ดซ้ำ ยังสามารถกำหนดค่า timeout แยกกันในแต่ละ HttpClient ได้ แต่จะดูแลรักษายากในแอปพลิเคชันขนาดใหญ่ที่มีไคลเอนต์ที่กำหนดค่าหลายตัว
เมธอดใดที่อนุญาตให้อ่าน body ของการตอบกลับ HTTP เป็นสตริง?
บทบาทของ DelegatingHandler ใน pipeline ของ HttpClient คืออะไร?
+17 คำถามสัมภาษณ์
หัวข้อสัมภาษณ์ .NET อื่นๆ
พื้นฐาน C#
LINQ & Delegates
พื้นฐานสำคัญของภาษา C#
พื้นฐาน ASP.NET Core
วงจรชีวิตของ request ใน ASP.NET Core
Configuration & Settings
วงจรชีวิตของแอปพลิเคชัน
Dependency Injection
Entity Framework Core
Minimal APIs
การพัฒนา Web API
Async ใน ASP.NET Core
Authentication & Authorization
การซีเรียลไลซ์ JSON
Entity Framework Core ขั้นสูง
ฟีเจอร์ขั้นสูงของ C#
Clean Architecture
Logging, Monitoring & Observability
Unit Testing และ xUnit
การทดสอบแบบบูรณาการ
Docker & Containerization
การจัดการแพ็กเกจ NuGet
Memory Management & GC
การเขียนโปรแกรมแบบรีแอกทีฟ
Async/await และรูปแบบ
.NET Design Patterns
การเพิ่มประสิทธิภาพการทำงาน
ความปลอดภัยและ Best Practices
SignalR และเรียลไทม์
สถาปัตยกรรม Microservices
เชี่ยวชาญ .NET สำหรับการสัมภาษณ์ครั้งถัดไป
เข้าถึงคำถามทั้งหมด flashcards แบบทดสอบเทคนิค แบบฝึกหัด code review และตัวจำลองสัมภาษณ์
เริ่มใช้ฟรี