ASP.NET o projeto principal inicia, a ordem padrão de execução é: Host Host -> Configuração de leitura -> Configurações de Log -> Serviço de Registro (DI) -> Adicionar Middleware -> WebHost Escuta -> Início de Trabalho em Segundo Plano.
O carregamento e leitura da configuração estão no início do processo de inicialização. Perfil da Microsoft no ASP.NET Core:O login do hiperlink está visível.
Revisar:
Host.CreateDefaultBuilder, fornece a configuração padrão do app na seguinte ordem:
- ChainedConfigurationProvider: Adicione um existente como fonte. No exemplo padrão da configuração, adicione a configuração do host e defina-a como a primeira fonte para a configuração da aplicação.
- Use appsettings.json appsettings.json.
- Use o provedor de configuração JSON via appsettings: JSON forneceu. Por exemplo, configurações de app. Production.json e configurações de app. Development.json。
- Segredos do app quando o app roda no ambiente.
- Use provedores de configuração de variáveis de ambiente para fornecer variáveis de ambiente através delas.
- O uso do provedor de configuração de linha de comando é fornecido por meio dos parâmetros da linha de comando.
O código-fonte é o seguinte:
Endereço do código-fonte:O login do hiperlink está visível.
Como você pode ver pelo código, a prioridade de configuração para aquisição de programas é:appsettings.json -> appsettings.environment.json -> variáveis de ambiente -> argumentos de linha de comando。 Testamos de acordo com a prioridade.
Crie um novo método de console para retornar todas as informações de configuração, o código é o seguinte:
Primeiro, appsettings.json o arquivo de configuração, da seguinte forma:
Novas configurações do app. Test.json configuração, da seguinte forma:
Tente iniciar o projeto e veja a configuração de WebConfig:Name e WebConfig:Data, conforme mostrado na imagem a seguir:
{"Key":"WebConfig:Name","Value":"itsvse.com"},{"Key":"WebConfig:Date","Value":"2021"}
Localizar Propriedades ->launchSettings.jsonmodificarem a configuração do ambiente ASPNETCORE_ENVIRONMENT para Testar, da seguinte forma:
Neste momento, o procedimentoVou ler as configurações do app. Test.json configuração, tente reiniciar o projeto, encontreWebConfig:Name 已经覆盖了, como mostrado na figura abaixo:
{"Key":"WebConfig:Name","Value":"itsvse.com test"},{"Key":"WebConfig:Date","Value":"2021"}
Modifique novamente o arquivo launchSettings.json e defina o valor de WebConfig:Name via a variável de ambiente, o código é o seguinte:
Nota: Modifique o valor de WebConfig:Name para a variável de ambiente, o nome da variável é: WebConfig__Name (O meio é separado por um duplo sublinhado)
Tente reiniciar o projeto e veja o valor de WebConfig:Name,Ela foi sobrscrita pelo conjunto de valores da variável ambiente, como mostrado na figura abaixo:
Tente modificar o valor padrão pela linha de comando e inicie o comando da seguinte forma:
Como mostrado abaixo:
Teste a prioridade das chaves de configuração com prática, e pronto.
|