Guia de início rápido: criar um aplicativo ASP.NET Core com a Configuração de Aplicativo do Azure

Neste início rápido, você usará a Configuração do Aplicativo do Azure para externalizar o armazenamento e o gerenciamento das configurações do seu aplicativo para um aplicativo ASP.NET Core. O ASP.NET Core cria um único objeto de configuração baseado em chave-valor usando definições de um ou mais provedores de configuração. A Configuração do Aplicativo oferece uma biblioteca de provedor de configuração .NET. Portanto, você pode usar a Configuração do Aplicativo como uma fonte de configuração extra para seu aplicativo. Se você tiver um aplicativo existente, para começar a usar a Configuração do aplicativo, precisará apenas de algumas pequenas alterações no código de inicialização do aplicativo.

Pré-requisitos

Gorjeta

O Azure Cloud Shell é um shell interativo e gratuito que você pode usar para executar as instruções de linha de comando neste artigo. Ele tem ferramentas comuns do Azure pré-instaladas, incluindo o SDK do .NET. Se tiver sessão iniciada na sua subscrição do Azure, inicie o Azure Cloud Shell a partir do shell.azure.com. Você pode saber mais sobre o Azure Cloud Shell lendo nossa documentação

Adicionar valores-chave

Adicione os seguintes valores-chave à loja de Configuração de Aplicações e deixe Etiqueta e Tipo de Conteúdo com os respetivos valores predefinidos. Para obter mais informações sobre como adicionar valores-chave a uma loja usando o portal do Azure ou a CLI, vá para Criar um valor-chave.

Key valor
TestApp:Configurações:BackgroundColor Branco
TestApp:Configurações:FontColor preto
TestApp:Configurações:FontSize 24
TestApp:Configurações:Mensagem Dados da Configuração do Aplicativo do Azure

Criar uma aplicação Web ASP.NET Core

Use a interface de linha de comando (CLI) do .NET para criar um novo projeto de aplicativo Web ASP.NET Core. O Azure Cloud Shell fornece essas ferramentas para você. Eles também estão disponíveis nas plataformas Windows, macOS e Linux.

Execute o seguinte comando para criar um aplicativo Web ASP.NET Core em uma nova pasta TestAppConfig :

dotnet new webapp --output TestAppConfig --framework net6.0

Conectar-se à App Configuration Store

  1. Navegue até o diretório TestAppConfig do projeto e execute o seguinte comando para adicionar uma referência de pacote NuGet Microsoft.Azure.AppConfiguration.AspNetCore :

    dotnet add package Microsoft.Azure.AppConfiguration.AspNetCore
    
  2. Execute o seguinte comando. O comando usa o Gerenciador Secreto para armazenar um segredo chamado ConnectionStrings:AppConfig, que armazena a cadeia de conexão para sua loja de configuração de aplicativos. Substitua o espaço reservado <your_connection_string> pela cadeia de conexão da sua App Configuration Store. Pode encontrar a cadeia de ligação em Chaves de Acesso da sua loja de Configuração de Aplicações no portal do Azure.

    dotnet user-secrets init
    dotnet user-secrets set ConnectionStrings:AppConfig "<your_connection_string>"
    

    Gorjeta

    Alguns shells truncarão a cadeia de conexão, a menos que ela esteja entre aspas. Verifique se a dotnet user-secrets list saída do comando mostra toda a cadeia de conexão. Caso contrário, execute novamente o comando, colocando a cadeia de conexão entre aspas.

    O Secret Manager armazena o segredo fora da árvore do projeto, o que ajuda a evitar o compartilhamento acidental de segredos dentro do código-fonte. Ele é usado apenas para testar o aplicativo Web localmente. Quando o aplicativo é implantado no Azure como o Serviço de Aplicativo, use as cadeias de conexão, Configurações do aplicativo ou variáveis de ambiente para armazenar a cadeia de conexão. Como alternativa, para evitar cadeias de conexão todas juntas, você pode se conectar à Configuração do Aplicativo usando identidades gerenciadas ou outras identidades do Microsoft Entra.

  3. Abra Program.cs e adicione a Configuração do Aplicativo do Azure como uma fonte de configuração extra chamando o AddAzureAppConfiguration método.

    var builder = WebApplication.CreateBuilder(args);
    
    // Retrieve the connection string
    string connectionString = builder.Configuration.GetConnectionString("AppConfig");
    
    // Load configuration from Azure App Configuration
    builder.Configuration.AddAzureAppConfiguration(connectionString);
    
    // The rest of existing code in program.cs
    // ... ...
    

    Esse código se conectará à sua loja de configuração de aplicativos usando uma cadeia de conexão e carregará todos os valores-chave que não têm rótulos. Para obter mais informações sobre o provedor de Configuração de Aplicativo, consulte a Referência da API do provedor de Configuração de Aplicativo.

Leia na App Configuration Store

Neste exemplo, você atualizará uma página da Web para exibir seu conteúdo usando as configurações definidas na sua loja de Configuração de Aplicativos.

  1. Adicione um arquivo Settings.cs na raiz do diretório do projeto. Ele define uma classe fortemente tipada Settings para a configuração que você vai usar. Substitua o namespace pelo nome do seu projeto.

    namespace TestAppConfig
    {
        public class Settings
        {
            public string BackgroundColor { get; set; }
            public long FontSize { get; set; }
            public string FontColor { get; set; }
            public string Message { get; set; }
        }
    }
    
  2. Vincule a TestApp:Settings seção em configuração ao Settings objeto.

    Atualize Program.cs com o código a seguir e adicione o TestAppConfig namespace no início do arquivo.

    using TestAppConfig;
    
    // Existing code in Program.cs
    // ... ...
    
    builder.Services.AddRazorPages();
    
    // Bind configuration "TestApp:Settings" section to the Settings object
    builder.Services.Configure<Settings>(builder.Configuration.GetSection("TestApp:Settings"));
    
    var app = builder.Build();
    
    // The rest of existing code in program.cs
    // ... ...
    
  3. Abra Index.cshtml.cs no diretório Pages e atualize a IndexModel classe com o código a seguir. Adicione o using Microsoft.Extensions.Options namespace no início do arquivo, se ele ainda não estiver lá.

    public class IndexModel : PageModel
    {
        private readonly ILogger<IndexModel> _logger;
    
        public Settings Settings { get; }
    
        public IndexModel(IOptionsSnapshot<Settings> options, ILogger<IndexModel> logger)
        {
            Settings = options.Value;
            _logger = logger;
        }
    }
    
  4. Abra Index.cshtml no diretório Pages e atualize o conteúdo com o código a seguir.

    @page
    @model IndexModel
    @{
        ViewData["Title"] = "Home page";
    }
    
    <style>
        body {
            background-color: @Model.Settings.BackgroundColor;
        }
    
        h1 {
            color: @Model.Settings.FontColor;
            font-size: @(Model.Settings.FontSize)px;
        }
    </style>
    
    <h1>@Model.Settings.Message</h1>
    

Crie e execute o aplicativo localmente

  1. Para criar o aplicativo usando a CLI do .NET, navegue até o diretório raiz do seu projeto. Execute o seguinte comando na shell de comandos:

    dotnet build
    
  2. Depois que a compilação for concluída com êxito, execute o seguinte comando para executar o aplicativo Web localmente:

    dotnet run
    
  3. A saída do dotnet run comando contém duas URLs. Abra um navegador e navegue até qualquer um desses URLs para acessar seu aplicativo. Por exemplo: https://localhost:5001.

    Se você estiver trabalhando no Azure Cloud Shell, selecione o botão Visualização da Web seguido de Configurar. Quando solicitado a configurar a porta para visualização, digite 5000 e selecione Abrir e navegar.

    Screenshot of Azure Cloud Shell. Locate Web Preview.

    A página Web tem o seguinte aspeto: Screenshot of the browser.Launching quickstart app locally.

Clean up resources (Limpar recursos)

Se não quiser continuar a utilizar os recursos criados neste artigo, elimine o grupo de recursos que criou aqui para evitar cobranças.

Importante

A eliminação de um grupo de recursos é irreversível. O grupo de recursos e todos os recursos nele contidos são excluídos permanentemente. Certifique-se de não excluir acidentalmente o grupo de recursos ou recursos errados. Se você criou os recursos para este artigo dentro de um grupo de recursos que contém outros recursos que deseja manter, exclua cada recurso individualmente de seu respetivo painel em vez de excluir o grupo de recursos.

  1. Entre no portal do Azure e selecione Grupos de recursos.
  2. Na caixa Filtrar por nome, introduza o nome do seu grupo de recursos.
  3. Na lista de resultados, selecione o nome do grupo de recursos para ver uma visão geral.
  4. Selecione Eliminar grupo de recursos.
  5. É-lhe pedido que confirme a eliminação do grupo de recursos. Insira o nome do grupo de recursos a ser confirmado e selecione Excluir.

Após alguns momentos, o grupo de recursos e todos os seus recursos são excluídos.

Próximos passos

Neste início rápido, irá:

  • Provisionada uma nova loja de configuração de aplicativos.
  • Conectado à sua loja de Configuração de Aplicativos usando a biblioteca do provedor de Configuração de Aplicativos.
  • Leia os valores-chave da sua loja de configurações de aplicativos com a biblioteca do provedor de configuração.
  • Exibida uma página da Web usando as configurações definidas na sua loja de configuração de aplicativos.

Para saber como configurar seu aplicativo Web ASP.NET Core para atualizar dinamicamente as definições de configuração, continue para o próximo tutorial.