Partilhar via


Início Rápido: Utilizar a Cache do Azure para Redis com uma aplicação Web ASP.NET

Neste início rápido, você usa o Visual Studio 2019 para modificar um aplicativo Web ASP.NET que se conecta ao Cache Redis do Azure para armazenar e obter dados do cache. Em seguida, implante o aplicativo no Serviço de Aplicativo do Azure.

Saltar para o código

Este artigo descreve como modificar o código de um aplicativo de exemplo para criar um aplicativo de trabalho que se conecta ao Cache do Azure para Redis.

Se você quiser ir direto para o código de exemplo, consulte o ASP.NET exemplo de início rápido no GitHub.

Pré-requisitos

Criar uma cache

Em seguida, crie o cache para usar com o aplicativo.

  1. Para criar um cache, entre no portal do Azure. No menu do portal, selecione Criar um recurso.

    Sceenshot que mostra a opção Criar um recurso realçada no painel de navegação esquerdo no portal do Azure.

  2. No painel Introdução, insira Cache Redis do Azure na barra de pesquisa. Nos resultados da pesquisa, localize o Cache do Azure para Redis e selecione Criar.

    Captura de ecrã que mostra o Azure Marketplace com o Cache Redis do Azure na caixa de pesquisa e o botão Criar está realçado.

  3. No painel Novo Cache Redis, na guia Noções básicas, defina as seguintes configurações para o cache:

    Definição Ação Descrição
    Subscrição Selecione a subscrição do Azure. A assinatura a ser usada para criar a nova instância do Cache do Azure para Redis.
    Grupo de recursos Selecione um grupo de recursos ou selecione Criar novo e insira um novo nome de grupo de recursos. Um nome para o grupo de recursos no qual criar seu cache e outros recursos. Ao colocar todos os recursos do seu aplicativo em um grupo de recursos, você pode facilmente gerenciá-los ou excluí-los juntos.
    Nome DNS Introduza um nome exclusivo. O nome do cache deve ser uma cadeia de caracteres de 1 a 63 caracteres que contenha apenas números, letras e hífenes. O nome deve começar e terminar com um número ou letra, e não pode conter hífenes consecutivas. O nome de host da instância de cache é \<DNS name>.redis.cache.windows.net.
    Location Selecione uma localização. Uma região do Azure que está perto de outros serviços que usam seu cache.
    Cache SKU Selecione uma SKU. A SKU determina o tamanho, o desempenho e os parâmetros de recurso disponíveis para o cache. Para obter mais informações, consulte Visão geral do Cache do Azure para Redis.
    Tamanho do cache Selecione um tamanho de cache. Para obter mais informações, consulte Visão geral do Cache do Azure para Redis.
  4. Selecione a guia Rede ou selecione Avançar: Rede.

  5. Na guia Rede, selecione um método de conectividade a ser usado para o cache.

  6. Selecione a guia Avançado ou selecione Avançar: Avançado.

  7. No painel Avançado, verifique ou selecione um método de autenticação com base nas seguintes informações:

    Captura de ecrã a mostrar o painel Avançado e as opções disponíveis para selecionar.

    • Por padrão, para um novo cache Básico, Standard ou Premium, a Autenticação do Microsoft Entra está habilitada e a Autenticação de Chaves de Acesso está desabilitada.
    • Para caches Basic ou Standard, você pode escolher a seleção para uma porta não-TLS.
    • Para caches Standard e Premium, você pode optar por habilitar zonas de disponibilidade. Não é possível desativar as zonas de disponibilidade após a criação do cache.
    • Para um cache Premium, defina as configurações para porta não-TLS, clustering, identidade gerenciada e persistência de dados.

    Importante

    Para uma segurança ideal, recomendamos que você use o Microsoft Entra ID com identidades gerenciadas para autorizar solicitações em seu cache, se possível. A autorização usando o ID do Microsoft Entra e identidades gerenciadas oferece segurança superior e facilidade de uso em relação à autorização de chave de acesso compartilhado. Para obter mais informações sobre como usar identidades gerenciadas com seu cache, consulte Usar a ID do Microsoft Entra para autenticação de cache.

  8. (Opcional) Selecione a guia Tags ou selecione Next: Tags.

  9. (Opcional) Na guia Marcas , insira um nome e um valor de tag se quiser categorizar seu recurso de cache.

  10. Selecione o botão Rever + criar.

    Na guia Revisão + criação, o Azure valida automaticamente sua configuração.

  11. Depois que a mensagem verde Validação passada for exibida, selecione Criar.

Uma nova implantação de cache ocorre ao longo de vários minutos. Você pode monitorar o progresso da implantação no painel Visão Geral do Cache do Azure para Redis. Quando Status exibe Em execução, o cache está pronto para uso.

Obter o nome do host, as portas e a chave de acesso

Para se conectar ao seu servidor Cache do Azure para Redis, o cliente de cache precisa do nome do host, das portas e de uma chave de acesso do cache. Alguns clientes podem se referir a esses itens usando nomes ligeiramente diferentes. Você pode obter o nome do host, as portas e as chaves no portal do Azure.

  • Para obter uma chave de acesso para o cache:

    1. No portal do Azure, vá para o cache.
    2. No menu de serviço, em Configurações, selecione Autenticação.
    3. No painel Autenticação, selecione a guia Teclas de acesso.
    4. Para copiar o valor de uma chave de acesso, selecione o ícone Copiar no campo de chave.

    Captura de ecrã que mostra como localizar e copiar uma chave de acesso para uma instância da Cache do Azure para Redis.

  • Para obter o nome do host e as portas para seu cache:

    1. No portal do Azure, vá para o cache.
    2. No menu de serviço, selecione Visão geral.
    3. Em Essentials, para Nome do host, selecione o ícone Copiar para copiar o valor do nome do host. O valor do nome do host tem o formato <DNS name>.redis.cache.windows.net.
    4. Em Portas, selecione o ícone Copiar para copiar os valores da porta.

    Captura de tela que mostra como localizar e copiar o nome do host e as portas de uma instância do Cache do Azure para Redis.

Editar o arquivo CacheSecrets.config

  1. No computador, crie um arquivo chamado CacheSecrets.config. Coloque o arquivo em um local onde não seja feito check-in com o código-fonte do seu aplicativo de exemplo. Para este início rápido, o arquivo CacheSecrets.config está na pasta C:\AppSecrets\ .

  2. Edite o arquivo CacheSecrets.config para adicionar o seguinte conteúdo.

    No código:

    • Substitua <cache-name> pelo nome do anfitrião da cache.

    • Substitua <access-key> pela chave de acesso primária do cache.

      Gorjeta

      Pode utilizar a chave de acesso secundária durante a rotação da chave como uma chave alternativa enquanto regenera a chave de acesso primária.

    <appSettings>
        <add key="CacheConnection" value="<cache-name>.redis.cache.windows.net,abortConnect=false,ssl=true,allowAdmin=true,password=<access-key>"/>
    </appSettings>
    
  3. Guarde o ficheiro.

Atualizar a aplicação MVC

Nesta seção, um aplicativo MVC (model-view-controller) exibe um teste simples para a conexão com o Cache do Azure para Redis.

Como o arquivo web.config se conecta ao cache

Quando você executa o aplicativo localmente, as informações em CacheSecrets.config são usadas para se conectar à sua instância do Cache do Azure para Redis. Mais tarde, você pode implantar esse aplicativo no Azure. Nesse momento, você define uma configuração de aplicativo no Azure que o aplicativo usa para recuperar as informações de conexão de cache em vez de usar o arquivo de configuração.

Como o arquivo CacheSecrets.config não é implantado no Azure com seu aplicativo, você o usa somente quando testa o aplicativo localmente. Mantenha essas informações o mais seguras possível para ajudar a evitar o acesso mal-intencionado aos seus dados de cache.

Atualizar o arquivo web.config

  1. No Gerenciador de Soluções, abra o arquivo web.config .

    Captura de tela que mostra o arquivo web.config no Gerenciador de Soluções do Visual Studio.

  2. No arquivo web.config, defina o <appSettings> elemento para executar o aplicativo localmente:

    <appSettings file="C:\AppSecrets\CacheSecrets.config">

O tempo de execução do ASP.NET une o conteúdo do ficheiro externo e a marcação no elemento <appSettings>. O tempo de execução ignora o atributo de ficheiro se não for possível localizar o ficheiro especificado. Os segredos (a cadeia de ligação para a cache) não são incluídos como parte do código fonte da aplicação. Quando você implanta seu aplicativo Web no Azure, o arquivo CacheSecrets.config não é implantado.

Instalar o StackExchange.Redis

Sua solução requer que o StackExchange.Redis pacote seja executado.

Para instalar o StackExchange.Redis pacote:

  1. Para configurar o aplicativo para usar o pacote NuGet StackExchange.Redis para Visual Studio, selecione Tools>NuGet Package Manager Package Manager>Console.

  2. Na janela Console do Gerenciador de Pacotes, execute o seguinte comando:

    Install-Package StackExchange.Redis
    

O pacote NuGet baixa e adiciona as referências de assembly necessárias para seu aplicativo cliente acessar o Cache Redis do Azure usando o StackExchange.Redis cliente.

Conectar-se ao cache usando RedisConnection

A conexão com o cache é gerenciada RedisConnection pela classe. A conexão é feita pela primeira vez nesta instrução que está em ContosoTeamStats/Controllers/HomeController.cs:

   private static Task<RedisConnection> _redisConnectionFactory = RedisConnection.InitializeAsync(connectionString: ConfigurationManager.AppSettings["CacheConnection"].ToString()););

O valor do segredo é acessado usando o provedor de configuração do CacheConnection Secret Manager e é usado como o parâmetro password.

No RedisConnection.cs, você pode ver que o namespace StackExchange.Redis é adicionado ao código. A RedisConnection classe requer o namespace.

using StackExchange.Redis;

O RedisConnection código garante que haja sempre uma conexão íntegra com o cache. A conexão é gerenciada por meio da ConnectionMultiplexer instância em StackExchange.Redis. A RedisConnection classe recria a conexão quando uma conexão é perdida e não é possível reconectar automaticamente.

Para obter mais informações, consulte StackExchange.Redis e o código em um repositório GitHub.

Verificar modos de exibição de layout no exemplo

O layout da home page para este exemplo é armazenado no arquivo _Layout.cshtml . Nesta página, você inicia o teste de cache real selecionando Cache do Azure para Teste Redis nesta página.

  1. No Gerenciador de Soluções, selecione Modos de Exibição e clique com o botão direito do mouse na pasta Compartilhada . Em seguida, abra o arquivo _Layout.cshtml .

  2. Verifique se a seguinte linha está em <div class="navbar-header">:

    @Html.ActionLink("Azure Cache for Redis Test", "RedisCache", "Home", new { area = "" }, new { @class = "navbar-brand" })
    

    Captura de ecrã que mostra as opções de boas-vindas e navegação numa página Web.

Mostrar dados do cache

Na home page, selecione Cache do Azure para Teste Redis na barra de navegação para ver a saída de exemplo.

  1. No Gerenciador de Soluções, selecione Modos de Exibição e clique com o botão direito do mouse na pasta Início .

  2. Verifique se o código a seguir está no arquivo RedisCache.cshtml :

    @{
        ViewBag.Title = "Azure Cache for Redis Test";
    }
    
    <h2>@ViewBag.Title.</h2>
    <h3>@ViewBag.Message</h3>
    <br /><br />
    <table border="1" cellpadding="10">
        <tr>
            <th>Command</th>
            <th>Result</th>
        </tr>
        <tr>
            <td>@ViewBag.command1</td>
            <td><pre>@ViewBag.command1Result</pre></td>
        </tr>
        <tr>
            <td>@ViewBag.command2</td>
            <td><pre>@ViewBag.command2Result</pre></td>
        </tr>
        <tr>
            <td>@ViewBag.command3</td>
            <td><pre>@ViewBag.command3Result</pre></td>
        </tr>
        <tr>
            <td>@ViewBag.command4</td>
            <td><pre>@ViewBag.command4Result</pre></td>
        </tr>
        <tr>
            <td>@ViewBag.command5</td>
            <td><pre>@ViewBag.command5Result</pre></td>
        </tr>
    </table>
    

Executar a aplicação localmente

Por predefinição, o projeto está configurado para alojar a aplicação localmente em IIS Express para testes e depuração.

Para executar a aplicação localmente:

  1. No Visual Studio, selecione Depurar>Iniciar Depuração para criar e iniciar a aplicação localmente para testes e depuração.

  2. No navegador, selecione Cache do Azure para Teste Redis na barra de navegação.

  3. No exemplo a seguir, a Message chave anteriormente tinha um valor armazenado em cache, que foi definido usando o console do Cache do Azure para Redis no portal. A aplicação atualizou esse valor em cache. A aplicação também executou os comandos PING e CLIENT LIST.

    Captura de tela que mostra um teste simples concluído localmente.

Publicar e executar no Azure

Depois de ter testado com êxito a aplicação localmente, pode implementar a aplicação no Azure e executá-la na cloud.

Para publicar o aplicativo no Azure:

  1. No Visual Studio, no Gerenciador de Soluções, clique com o botão direito do mouse no nó do projeto e selecione Publicar.

    Captura de ecrã que mostra o comando de menu Publicar realçado no Azure.

  2. Selecione Serviço de Aplicativo do>Microsoft Azure Criar Nova>Publicação.

    Captura de tela que mostra as opções do menu a serem definidas para publicar no Serviço de Aplicativo.

  3. Na caixa de diálogo Criar Serviço de Aplicações, faça as seguintes alterações:

    Definição Ação Descrição
    Nome da aplicação Utilize a predefinição. O nome da aplicação é o nome do anfitrião da aplicação quando é implementada no Azure. O nome pode ter um sufixo de carimbo de data/hora adicionado a ele para tornar o nome do aplicativo exclusivo.
    Subscrição Selecione a subscrição do Azure. Esta subscrição é debitada relativamente a quaisquer custos de alojamento relacionados. Se tiver várias subscrições do Azure, verifique se a subscrição que pretende utilizar está selecionada.
    Grupo de recursos Use o mesmo grupo de recursos que você usou para criar o cache (por exemplo, TestResourceGroup). O grupo de recursos ajuda-o a gerir todos os recursos como um grupo. Mais tarde, quando pretender eliminar a aplicação, pode eliminar o grupo de recursos para eliminar todos os recursos relacionados.
    Plano do Serviço de Aplicações Selecione Novo e, em seguida, crie um novo plano do Serviço de Aplicações com o nome TestingPlan.
    Use o mesmo valor para Localização que você usou quando criou o cache.
    Para tamanho, selecione Gratuito.
    Um plano de Serviço de Aplicações define um conjunto de recursos de computação para a execução da aplicação Web.

    Captura de tela que mostra a caixa de diálogo Serviço de Aplicativo no Azure.

  4. Depois de definir as configurações de host do Serviço de Aplicativo, selecione Criar.

  5. Na janela Saída, verifique o status de publicação. Depois que o aplicativo é publicado, a URL do aplicativo aparece como saída:

    Captura de tela que mostra a janela de saída de publicação no Visual Studio.

Adicionar uma configuração de aplicativo para o cache

Depois que o novo aplicativo for publicado, adicione uma nova configuração de aplicativo no portal do Azure. Essa configuração armazena as informações de conexão de cache.

Para adicionar a configuração do aplicativo:

  1. No portal do Azure, insira o nome do aplicativo na barra de pesquisa.

    Captura de ecrã que mostra a procura de uma aplicação no portal do Azure.

  2. Adicione uma nova definição de aplicação denominada CacheConnection para a aplicação utilizar para se ligar à cache. Use o mesmo valor que você usou no CacheConnection arquivo CacheSecrets.config . O valor contém o nome do anfitrião da cache e a chave de acesso.

    Captura de tela que mostra a adição de uma configuração de aplicativo.

Executar a aplicação no Azure

  1. No browser, aceda ao URL da aplicação. A URL aparece nos resultados da operação de publicação na janela de saída do Visual Studio. Ele também aparece no portal do Azure no painel Visão geral do seu aplicativo.

  2. Na barra de navegação da página da Web, selecione Cache do Azure para Teste Redis para testar o acesso ao cache como fez com a versão local.

Clean up resources (Limpar recursos)

Se quiser continuar a usar os recursos criados neste artigo, mantenha o grupo de recursos.

Caso contrário, para evitar cobranças relacionadas aos recursos, se você terminar de usá-los, poderá excluir o grupo de recursos do Azure que você criou.

Aviso

A eliminação de um grupo de recursos é irreversível. Quando você exclui um grupo de recursos, todos os recursos no grupo de recursos são excluídos permanentemente. Confirme que não elimina acidentalmente o grupo de recursos ou recursos errados. Se você criou os recursos dentro de um grupo de recursos existente que tem recursos que deseja manter, você pode excluir cada recurso individualmente em vez de excluir o grupo de recursos.

Eliminar um grupo de recursos

  1. Inicie sessão no Portal do Azure e selecione Grupos de recursos.

  2. Selecione o grupo de recursos a ser excluído.

    Se houver muitos grupos de recursos, em Filtrar para qualquer campo, insira o nome do grupo de recursos criado para concluir este artigo. Na lista de resultados da pesquisa, selecione o grupo de recursos.

    Captura de ecrã que mostra uma lista de grupos de recursos à escolha para eliminar.

  3. Selecione Eliminar grupo de recursos.

  4. No painel Eliminar um grupo de recursos, introduza o nome do grupo de recursos a confirmar e, em seguida, selecione Eliminar.

    Captura de tela que mostra uma caixa que requer a inserção do nome do recurso para confirmar a exclusão.

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