Classe de configuração
Para manter as variáveis de configuração organizadas, podemos agrupá-las em uma classe especializada em ler e validar os dados que precisamos.
Inicialmente, vamos desenvolver usando código nativo, explícito para a função que desejamos. Mais tarde, vamos abordar as opções que o aspnet oferece.
Contexto
Consideremos que nossa aplicação tem algumas configurações específicas:
Variável | Descrição | Tipo | Validação |
---|---|---|---|
DB_CONNECTION_STRING | String de Conexão ao banco de dados | string | Deve iniciar com "mongodb://" |
MAX_CONNECTED_USERS | Número máximo de usuários | int | Deve ser um inteiro entre 10 e 1000 |
DEBUG | Flag para geração de informações de debug | bool | True deve ser representado por "1" |
Para tanto, criaremos uma classe que receberá estes dados:
public record ConfigClass
{
public string DbConnectionString { get; }
public int MaxConnectedUsers { get; }
public bool Debug { get; }
public ConfigClass()
{
DbConnectionString = Environment.GetEnvironmentVariable("DB_CONNECTION_STRING");
MaxConnectedUsers = int.Parse(Environment.GetEnvironmentVariable("MAX_CONNECTED_USERS"));
Debug = Environment.GetEnvironmentVariable("DEBUG") == "1";
}
}