Facebook Pixel
Como Ler a String de Conexão e Outras Configurações em appsettings.json

Como Ler a String de Conexão e Outras Configurações em appsettings.json

Este artigo é parte da série:

O padrão MVC tem um lugar especial para salvar strings de conexão e outras configurações. Trata-se do arquivo “appsettings.json”. Observe nas linhas 9, 10 e 11 que criei uma string de conexão e dei para ela o nome “cnMain”:

{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning"
    }
  },
  "AllowedHosts": "*",
  "ConnectionStrings": {
    "cnMain": "Server=localhost;Database=Treino01;Trusted_Connection=True;MultipleActiveResultSets=true"
    "cnExtr": "Server=<Servidor>;Database=<Database>;UID=<Usuário>;PWD=<Senha>;Encrypt=False;Language=US_English"
  }
}

Para fazer a leitura da ConnectionString dentro do código do programa, vamos instanciar um objeto da classe IConfiguration da seguinte forma:

namespace Treino_REST_02.Controllers
{
    [Route("api/Dados")]
    [ApiController]
    public class DadosController : ControllerBase
    {

        IConfiguration Config;

        public DadosController(IConfiguration _config) 
        {
            this.Config = _config;
        }

Apesar de a referência para IConfiguration ser passada no construtor, observe que instanciei o objeto “Config” no nível da classe e não dentro do método construtor. Dessa forma, “Config” pode ser chamado por qualquer método do programa. Para ler a string de conexão agora basta utilizar o método “Config.GetConnectionString()” como no exemplo abaixo:

Cn.ConnectionString = Config.GetConnectionString("cnMain");

Outra forma de fazer a leitura da string de conexão sem precisar deixar um objeto instanciado é essa abaixo, porém tenho a impressão que este método demanda mais recursos computacionais. Ainda farei uma pesquisa sobre o assunto para chegar à uma conclusão final.

var cnStr = new ConfigurationBuilder().AddJsonFile("appsettings.json").Build().GetSection("ConnectionStrings")["cnMain"];
Cn.ConnectionString = cnStr;

Agora que já sabemos como armazenar e ler uma string de conexão, o próximo passo é utilizá-la para efetivamente acessar bancos de dados.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *