https://a.storyblok.com/f/270183/55446/cc737d308b/implicit-configuration-net.png

Configuração implícita no .NET

Publicado em November 2, 2023

Tempo de leitura: 1 minuto

Olá, amigos,

Em nosso última publicação, demonstramos o processo de registro de clientes da Vonage no contêiner IoC do .NET. Esse foi um passo importante para simplificar as interações com nosso SDK.

Agora, vamos parar um momento para refletir: e se levássemos isso um passo adiante?

Por onde é que paramos?

Só para relembrar: era assim que costumávamos registrar esses clientes:

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

Era necessário inicializar uma instância de Credentials, geralmente a partir de um par ApiKey/ApiSecret ou de um par ApplicationId/PrivateKey. Esses valores geralmente vinham do seu arquivo de configuração ou eram obtidos da nossa instância de Configuration.

Você está entendendo onde quero chegar, não é?

Carregamento implícito da configuração

Chega de se preocupar com essa Credentials instância. Fomos além e ajustamos o método para aceitar uma instância de IConfiguration imediatamente.

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

Agora, nós cuidamos de todo o trabalho pesado, pois vamos extrair todos os dados necessários diretamente do seu arquivo de configuração.

Menos trabalho manual para você!

Ampliação por meio de configuração específica para o ambiente

Até a versão 6.9.0, só podíamos carregar dados de configuração de settings.json ou appsettings.json. Isso poderia ser problemático se você quisesse usar valores específicos do ambiente, por exemplo, em uma implantação em ambiente de teste.

Você deve ter percebido que estamos falando sobre o carregamento de dados com base na sua configuração local. O que está acontecendo aí?

Estamos obtendo todos esses valores de configuração essenciais a partir das fontes que você carregou no seu construtor de configuração. Por exemplo, podemos recuperar valores de appsettings.{environment}.json, a convenção de nomenclatura padrão em um novo aplicativo .NET.

Encerrando

Fique ligado para mais recursos e melhorias que facilitam o dia a dia.

Como sempre, valorizamos o seu feedback! Portanto, fique à vontade para acessar nosso repositório no GitHub para relatar problemas, sugerir melhorias ou até mesmo enviar suas pull requests. Se tiver alguma dúvida, junte-se a nós no Slack dos Desenvolvedores da Vonage, e entraremos em contato com você.

Boa programação e até breve!

Compartilhar:

https://a.storyblok.com/f/270183/384x384/fdffb72c8b/guillaume-faas.png
Guillaume FaasEx-funcionários da Vonage

Guillaume é um ex-membro da equipe da Vonage. Ele atuou como Promotor Sênior de Desenvolvimento .NET na Vonage. Trabalha com .NET há quase 15 anos, tendo se dedicado, nos últimos anos, à promoção do Software Craftsmanship. Seus temas favoritos incluem qualidade de código, automação de testes, mobbing e code katas. Fora do trabalho, ele gosta de passar tempo com a esposa e a filha, malhar ou jogar videogame.