ASP.NET o Core implementa microserviços, você deve resolver o problema do centro de configuração. Seja um microserviço ou não, é muito complicado alterar o arquivo de configuração um a um com mais nós, e hoje vou compartilhar uma solução leve de centro de configuração baseada no Consul. Atualizações quentes nos perfis são feitas sem necessidade de resite.
fundo
Normalmente, configurações em aplicações .NET são armazenadas em arquivos de configuração, como App.config, Web.config ou appsettings.json. A partir do ASP.Net Core, surgiu uma nova estrutura de configuração extensível que permitia armazenar configurações fora dos arquivos de configuração e ser recuperadas da linha de comando, variáveis de ambiente e mais.
Em projetos tradicionais, modificar arquivos de configuração requer logar no ambiente de produção para modificação, o que não é conveniente para manutenção e gerenciamento quando há muitos projetos.
Por isso, usamos o Consul para configurar online em tempo real, o que alcança o objetivo de responder em tempo real apenas alterando a configuração sem reiniciar o serviço. A ideia de implementação é baseada na chave/valor do Consul, e múltiplos nós Consul podem ser sincronizados e configurados automaticamente, e nosso programa é implementar o ConfigurationProvider e ouvir mudanças no Consul.
Configuração do cônsul
Para download e instalação, você pode consultar:
ASP.NET Configuração principal
Primeiro, instale o pacote nuget com o seguinte comando:
Modifique o arquivo Program.cs com o seguinte código:
Para mais informações sobre a Configuração, consulte a:
O login do hiperlink está visível.
Configure o endereço do centro de serviço Consul e modifique o arquivo appsettings.json da seguinte forma:
O código do controlador é o seguinte:
Comece o projeto conforme mostrado abaixo:
Como nós do Consul não estamos configurando o valor de test, o fetch está vazio.
AbraO login do hiperlink está visível.Configure os arquivos necessários para o projeto.
O endereço do perfil lido pelo projeto é:
"/WebApplication1/appsettings. Development.json" Portanto, precisamos criar uma nova pasta "WebApplication1" e "appsettings". Development.json" conforme mostrado abaixo:
O valor é o seguinte:
Após salvar, atualizamos o site conforme mostrado abaixo:
Testamos caracteres chineses sem problemas, conforme mostrado abaixo:
Pode-se ver que o valor do teste é obtido com sucesso, o que realiza a função de configuração dinâmica, e o arquivo de configuração é atualizado a quente sem reiniciar o site. |