อัตราแลกเปลี่ยนใน C# และ .NET
สร้าง client .NET ด้วย IHttpClientFactory, decimal, cancellation และ timeout
ลงทะเบียน HttpClient แบบ typed อ่าน key จาก config และแปลงอัตราเป็น decimal พร้อมส่ง cancellation ต่อไป เพื่อไม่ให้คำขอที่ช้าค้างการเชื่อมต่อไว้ไม่จำกัดเวลา
Key points
ใช้
IHttpClientFactoryใช้อัตราแบบ
decimalส่ง
CancellationToken และตั้ง timeoutเรียก
EnsureSuccessStatusCode() ก่อนอ่าน JSONลงทะเบียน HttpClient แบบ typed
การลงทะเบียนกำหนด URL, bearer token และ timeout ส่วน client รักษาสัญญา response และ cancellation
ส่ง cancellation จากคำขอ
แคชเฉพาะข้อมูลที่สำเร็จ
แคชข้อมูลครบพร้อม Source, MarketSession และ DataUpdatedAt ไม่ใช่แค่ Rates["EUR"]
จำกัดนโยบาย retry
retry เฉพาะ network error สั้นๆ และ 5xx บางรายการ ไม่ retry 401 หรือสร้างคำขอถี่หลัง 429
- ใช้ client registration เดียว
- ใช้ decimal
- ส่ง cancellation
- ปฏิเสธ error ก่อน deserialize
ER
exchangerate.dev
คู่มือเชื่อมต่อสำหรับนักพัฒนาที่ใช้ข้อมูล FX