Creating and Utilizing Shared Configurations in ASP.NET Core image

Criando e utilizando configurações compartilhadas no ASP.NET Core

No mundo do desenvolvimento de software, é crucial manter a consistência em diferentes ambientes (desenvolvimento, preparação, produção) ou em vários projetos dentro da mesma solução. O ASP.NET Core oferece um sistema de configuração robusto, flexível e poderoso, permitindo que as configurações sejam originadas de arquivos JSON, variáveis ​​de ambiente, argumentos de linha de comando e muito mais. Uma prática comum para obter consistência é o uso de configurações compartilhadas. Este artigo orientará você na configuração e no uso de configurações compartilhadas no ASP.NET Core.

Etapa 1: Criando um arquivo de configuração compartilhado

Uma configuração compartilhada normalmente reside em um arquivo JSON. Este arquivo contém todas as configurações que precisam ser consistentes em diferentes partes de um aplicativo ou em vários aplicativos. Por exemplo, crie um arquivo chamado appsettings.Shared.json com o seguinte conteúdo:

 {
 "Logging" : {
 "LogLevel" : { 
"Padrão" : "Informações" ,
 "Microsoft" : "Aviso"
 }
 } ,
 "Configurações do aplicativo" : { 
"ApplicationName" : "Meu aplicativo" ,
 "Versão" : "1.0.0"
 }
 }

Etapa 2: Carregando o arquivo de configuração compartilhada

O arquivo de configuração compartilhado deve ser carregado para que suas configurações possam ser utilizadas pela sua aplicação. Isto é feito no CreateHostBuilder método dentro do Program.cs arquivo. É crucial carregar a configuração compartilhada junto com as configurações específicas do ambiente, garantindo que as configurações específicas do ambiente possam substituir as compartilhadas, se necessário:

public static IHostBuilder CreateHostBuilder(string[] args) => 
Hospedar . CreateDefaultBuilder ( args )
 . ConfigureAppConfiguration ( ( hostContext , config ) =>
 { 
var env = hospedagemContext . Ambiente de hospedagem ;

 // Carregue primeiro a configuração compartilhada. 
configuração . AddJsonFile ( "appsettings.Shared.json" , opcional : true , reloadOnChange : true ) ;
             
// Carregue as configurações específicas do ambiente a seguir. 
configuração . AddJsonFile ( $"appsettings. { env . EnvironmentName } .json" , opcional : true , reloadOnChange : true ) ; 
} )
 . ConfigurarWebHostDefaults ( webBuilder =>
 { 
webBuilder . UseStartup < Inicialização > ( ) ;
 } ) ;

Etapa 3: Acessando Valores de Configuração

Para utilizar os valores de configuração em seu aplicativo, você pode injetar diretamente IConfiguration em suas aulas ou use o padrão de opções para configurações mais estruturadas.

Injetando diretamente IConfiguration :

Veja como você pode injetar IConfiguration para acessar o ApplicationName contexto:

public class MyController : ControllerBase
{
    private readonly IConfiguration _configuration;
 
MyController público ( configuração IConfiguration )
 {
 _configuração = configuração ;
 }

 público IActionResult GetAppName ( ) 
{
 var appName = _configuração . GetValue <string> ( " ApplicationSettings :ApplicationName" ) ; 
return Ok ( appName ) ;
 }
 }

Usando o padrão de opções:

Para configurações complexas, o padrão de opções é recomendado. Primeiro, defina uma classe que represente suas configurações:

 public class ApplicationSettings 
{
 string pública ApplicationName { get ; definir ; } 
string pública Versão { get ; definir ; }
 }

Cadastre-o no ConfigureServices método do seu Startup aula:

public void ConfigureServices(IServiceCollection services)
{ 
Serviços . Configurar <ApplicationSettings> ( Configuração.GetSection ( " ApplicationSettings " ) ) ; 
//Adiciona outros serviços
 }

Injetar IOptions<ApplicationSettings> para acessar as configurações em suas aulas:

 public class MyOtherController : ControllerBase
 { 
private somente leitura ApplicationSettings _appSettings ;

 public MyOtherController ( IOptions < ApplicationSettings > appSettings )
 { 
_appSettings = appSettings . Valor ;
 }

 público IActionResult GetAppVersion ( )
 { 
return Ok ( _appSettings.Versão ) ;
 }
 }

Conclusão

O uso de configurações compartilhadas no ASP.NET Core não apenas ajuda a manter a consistência em diferentes ambientes e projetos, mas também torna o gerenciamento de configuração mais limpo e fácil de manter. Ao aproveitar a flexibilidade do sistema de configuração do ASP.NET Core, os desenvolvedores podem simplificar seus processos de desenvolvimento, reduzir erros e garantir que seus aplicativos se comportem de forma consistente, independentemente do ambiente ou projeto em que estão implantados.

Voltar para o blogue
  • ChatGPT Uncovered Podcast

    Podcast descoberto do ChatGPT

    Pedro Martins

    Podcast descoberto do ChatGPT Podcast descoberto do ChatGPT Explorando as fronteiras dos modelos de conversação de IA Episódio 1: Compreendendo o ChatGPT Publicado em: 15 de maio de 2023 Seu...

    Podcast descoberto do ChatGPT

    Pedro Martins

    Podcast descoberto do ChatGPT Podcast descoberto do ChatGPT Explorando as fronteiras dos modelos de conversação de IA Episódio 1: Compreendendo o ChatGPT Publicado em: 15 de maio de 2023 Seu...

  • Power Apps In-Depth Podcast

    Podcast detalhado do Power Apps

    Pedro Martins

    Podcast detalhado do Power Apps Podcast detalhado do Power Apps Explorando os recursos do Microsoft Power Apps Episódio 1: Introdução ao Power Apps Publicado em: 20 de abril de 2023...

    Podcast detalhado do Power Apps

    Pedro Martins

    Podcast detalhado do Power Apps Podcast detalhado do Power Apps Explorando os recursos do Microsoft Power Apps Episódio 1: Introdução ao Power Apps Publicado em: 20 de abril de 2023...

  • Exploring Power Pages Podcast

    Explorando o podcast Power Pages

    Pedro Martins

    Explorando o podcast Power Pages Explorando o podcast Power Pages Mergulhando no mundo das Power Pages da Microsoft Episódio 1: Primeiros passos com Power Pages Publicado em: 10 de março...

    Explorando o podcast Power Pages

    Pedro Martins

    Explorando o podcast Power Pages Explorando o podcast Power Pages Mergulhando no mundo das Power Pages da Microsoft Episódio 1: Primeiros passos com Power Pages Publicado em: 10 de março...

1 de 3