Tipos de cambio en C# y .NET
Crea un cliente FX tipado con IHttpClientFactory, valores decimal, cancelación, tiempo límite y manejo consciente de la fuente.
Registra un HttpClient tipado para exchangerate.dev, inyecta la clave desde la configuración y convierte los tipos a decimal. Propaga la cancelación y limita el tiempo de la llamada.
Key points
Usa
IHttpClientFactory para configurar y reutilizar conexiones.Convierte los tipos a
decimal.Propaga
CancellationToken y define un tiempo límite.Ejecuta
EnsureSuccessStatusCode() antes de decodificar.Registra un HttpClient tipado
El registro define URL, token y tiempo límite. El cliente tipado conserva el contrato de respuesta y pasa la cancelación a la solicitud.
Propaga la cancelación desde la solicitud
Almacena solo observaciones correctas
Una caché compartida debe guardar la observación completa, no solo Rates["EUR"]. Conserva Source, MarketSession y DataUpdatedAt para interpretar el valor.
Los reintentos requieren una política estrecha
Reintenta fallos breves de red o determinados 5xx con una pausa pequeña. No trates un 401 como transitorio ni generes una ráfaga tras un 429.
- Mantén un único registro de cliente tipado.
- Usa decimal para tipos y montos.
- Propaga la cancelación.
- Rechaza errores HTTP antes de decodificar.
MM
exchangerate.dev
Guías de integración para desarrolladores que trabajan con datos FX.