https://d226lax1qjow5r.cloudfront.net/blog/blogposts/implicit-configuration-in-net/implicit-configuration-net.png

Configuración implícita en .NET

Publicado el November 2, 2023

Tiempo de lectura: 1 minuto

Hola amigos,

En nuestro último postdemostramos el proceso de registro de clientes de Vonage dentro del contenedor .NET IoC. Este fue un paso valioso para simplificar las interacciones con nuestro SDK.

Reflexionemos un momento: ¿Y si diéramos un paso más?

¿Dónde lo dejamos?

Para refrescar la memoria: así es como solíamos registrar a esos clientes:

// Initialize credentials
Credentials credentials = ...
// Register our clients with a 'Transient' lifetime...
builder.Services.AddVonageClientTransient(credentials);
// Or a 'Scoped' lifetime
builder.Services.AddVonageClientScoped(credentials);

Tuviste que inicializar una instancia de Credenciales, típicamente desde un par ApiKey/ApiSecret o un par ApplicationId/PrivateKey. Estos valores a menudo provienen de su archivo de configuración o fueron extraídos de nuestra instancia de Configuración.

Ves por dónde voy, ¿verdad?

Carga implícita de la configuración

Ya no hay que preocuparse por esa Credentials instancia. Hemos ido más allá y hemos modificado el método para que acepte inmediatamente una instancia de IConfiguration.

// Register our clients with a 'Transient' lifetime...
builder.Services.AddVonageClientTransient(builder.Configuration);
// Or a 'Scoped' lifetime
builder.Services.AddVonageClientScoped(builder.Configuration);

Ahora, nosotros nos encargamos de todo el trabajo pesado, ya que obtendremos todos los datos necesarios directamente de su archivo de configuración.

Menos trabajo manual para usted

Ampliación con la configuración específica del entorno

Hasta v6.9.0sólo podíamos cargar datos de configuración desde settings.json o appsettings.json. Esto podía ser problemático si se querían utilizar valores específicos del entorno, por ejemplo, con un despliegue en un entorno de ensayo.

Te habrás dado cuenta de que estamos hablando de cargar datos basados en tu configuración local. ¿De qué se trata?

Estamos recuperando todos esos valores de configuración cruciales de las fuentes que has cargado en tu constructor de configuración. Por ejemplo, podemos recuperar valores de appsettings.{environment}.jsonla convención de nomenclatura por defecto en una nueva aplicación .NET.

Despedida

Esté atento a más funciones y mejoras de la calidad de vida.

Como siempre, valoramos tus comentarios. Así que no dudes en visitar nuestro repositorio de GitHub para notificar problemas, sugerir mejoras o incluso hacer pull requests. Si tienes preguntas, únete a nosotros en Slack para desarrolladores de Vonagey nos comunicaremos contigo.

Feliz codificación, ¡y hasta pronto!

Compartir:

https://a.storyblok.com/f/270183/384x384/fdffb72c8b/guillaume-faas.png
Guillaume FaasPromotor senior de desarrollo .Net

Guillaume es desarrollador senior de .Net en Vonage. Ha estado trabajando en .Net durante casi 15 años, mientras que en los últimos años se ha centrado en la defensa de Software Craftsmanship. Sus temas favoritos son la calidad del código, la automatización de pruebas, el mobbing y las katas de código. Fuera del trabajo, le gusta pasar tiempo con su mujer y su hija, hacer ejercicio o jugar.