Compartilhar via


Guia de início rápido: Usar o Cache do Azure para Redis com um aplicativo Web ASP.NET

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

Ir para o código

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

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

Pré-requisitos

Criar um cache

Em seguida, crie o cache a ser usado com o aplicativo.

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

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

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

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

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

    Configuração Ação Descrição
    Assinatura Selecione sua assinatura 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 o cache e outros recursos serão criados. Ao colocar todos os seus recursos de aplicativos em um só grupo de recursos, você pode gerenciá-los ou excluí-los juntos com facilidade.
    Nome DNS Insira um nome exclusivo. O nome de cache precisa ser uma cadeia de caracteres com 1 a 63 caracteres que contém somente números, letras e hifens. O nome deve começar e terminar com um número ou uma letra e não pode conter hifens consecutivos. O nome do host da instância de cache é \<DNS name>.redis.cache.windows.net.
    Localidade Selecione uma localização. Uma região do Azure próxima a outros serviços que usam seu cache.
    Cache SKU Selecione um SKU. O SKU determina os parâmetros de tamanho, desempenho e 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 tela mostrando o painel Avançado e as opções disponíveis a serem selecionadas.

    • 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 Básico ou Standard, é possível escolher a seleção de uma porta não TLS.
    • Para caches Standard e Premium, é possível optar por habilitar zonas de disponibilidade. Não é possível desabilitar 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 obter a 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 Microsoft Entra ID e identidades gerenciadas oferece maior segurança e facilidade de uso em comparação com a autorização por chave de acesso compartilhada. Para obter mais informações sobre como usar identidades gerenciadas com seu cache, confira Usar o Microsoft Entra ID para autenticação de cache.

  8. (Opcional) Selecione a guia Marcas ou selecione Avançar: Marcas.

  9. (Opcional) Na guia Marcas, insira um nome de marca e um valor se você quiser categorizar o recurso de cache.

  10. Selecione o botão Revisar + criar.

    Na guia Revisar + criar, o Azure valida automaticamente sua configuração.

  11. Depois que a mensagem em verde Validação aprovada 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 o Status mostrar Em execução, o cache estará pronto para uso.

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

Para se conectar ao servidor do Cache do Azure para Redis, o cliente de cache precisa do nome do host, das portas e da chave de acesso do cache. Alguns clientes podem se referir a esses itens usando nomes um pouco 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á até o cache.
    2. No menu de serviço, em Configurações, selecione Autenticação.
    3. No painel Autenticação, selecione a guia Chaves de acesso.
    4. Para copiar o valor de uma chave de acesso, selecione o ícone Copiar no campo de chave.

    Captura de tela que mostra como encontrar e copiar uma chave de acesso para uma instância do Cache do Azure para Redis.

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

    1. No portal do Azure, vá até o cache.
    2. No menu de serviço, selecione Visão geral.
    3. Em Essentials, para o 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. Para Portas, selecione o ícone Copiar para copiar os valores da porta.

    Captura de tela que mostra como encontrar 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 ele não seja incluído no 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 host do cache.

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

      Dica

      É possível usar a chave de acesso secundária durante a rotação de chave como uma chave alternativa enquanto você 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. Salve o arquivo.

Atualizar o aplicativo MVC

Nesta seção, um aplicativo MVC (Model-View-Controller) exibe um teste simples para a conexão com o Azure Cache for 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 à instância do Cache do Azure para Redis. Posteriormente, você pode implantar esse aplicativo no Azure. Nesse momento, você definirá uma configuração de aplicativo no Azure que será usada pelo aplicativo para recuperar as informações de conexão do cache em vez de usar o arquivo de configuração.

Como o arquivo CacheSecrets.config não é implantado no Azure com seu aplicativo, ele é usado apenas quando você testa a aplicação localmente. Mantenha essas informações com o máximo de segurança possível para ajudar a prevenir o acesso mal-intencionado aos dados do seu 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 elemento <appSettings> para executar o aplicativo localmente:

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

O runtime do ASP.NET mescla o conteúdo do arquivo externo com a marcação no elemento <appSettings> . O runtime ignora o atributo de arquivo se o arquivo especificado não puder ser encontrado. Seus segredos (a cadeia de conexão do cache) não são incluídos como parte do código-fonte do aplicativo. Quando você implantar o aplicativo Web no Azure, o arquivo CacheSecrets.config não será implantado.

Instalar o StackExchange.Redis

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

Para instalar o pacote StackExchange.Redis:

  1. Para configurar o aplicativo para que ele use o pacote NuGet StackExchange.Redis do Visual Studio, selecione Ferramentas>Gerenciador de Pacotes NuGet>Console do Gerenciador de Pacotes.

  2. Na janela do 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 do Azure para Redis usando o cliente StackExchange.Redis.

Conectar-se ao cache usando o RedisConnection

A conexão ao seu cache é gerenciada pela classe RedisConnection. 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 do CacheConnection é acessado usando o provedor de configuração do Gerenciador de Segredos e usado como o parâmetro de senha.

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

using StackExchange.Redis;

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

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

Verificar exibições de layout no exemplo

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

  1. No Gerenciador de Soluções, selecione Exibições e clique com o botão direito do mouse na pasta Compartilhada. Depois 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 tela que mostra as opções de boas-vindas e navegação em uma página da Web.

Mostrar dados do cache

Na página inicial, selecione Teste do Cache do Azure para Redis na barra de navegação para ver a saída de exemplo.

  1. No Gerenciador de Soluções, selecione Exibições e clique com o botão direito do mouse na pasta Página Inicial.

  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 o aplicativo localmente

Por padrão, o projeto está configurado para hospedar o aplicativo localmente no IIS Express para teste e depuração.

Para executar o aplicativo localmente:

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

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

  3. No exemplo a seguir, a chave Message já tinha um valor armazenado em cache, que foi definido usando o console do Cache do Azure para Redis no portal. O aplicativo atualizou esse valor armazenado em cache. O aplicativo 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 testar o aplicativo localmente com êxito, você pode implantar o aplicativo no Azure e executá-lo na nuvem.

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 tela que mostra o comando de menu Publicar realçado no Azure.

  2. Selecione Serviço de Aplicativo do Microsoft Azure>Criar>Publicar.

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

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

    Configuração Ação Descrição
    Nome do aplicativo Use o padrão. O nome do aplicativo é o nome do host para o aplicativo quando ele for implantado no Azure. O nome pode ter um sufixo de carimbo de data/hora adicionado a ele para torná-lo exclusivo.
    Assinatura Selecione sua assinatura do Azure. Essa assinatura será cobrada quanto aos encargos de hospedagem relacionados. Caso tenha várias assinaturas do Azure, verifique se a assinatura que você deseja usar 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 você a gerenciar todos os recursos como um grupo. Posteriormente, quando você quiser excluir o aplicativo, poderá excluir o grupo de recursos para excluir todos os recursos relacionados.
    Plano do Serviço de Aplicativo Selecione Novo e depois crie um novo Plano do Serviço de Aplicativo chamado TestingPlan.
    Use o mesmo valor para o Local que você usou quando criou o cache.
    Para o tamanho, selecione Livre.
    Um Plano do Serviço de Aplicativo define um conjunto de recursos de computação com o qual um aplicativo Web será executado.

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

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

  5. Na Janela de Saída, verifique o status da 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 da publicação no Visual Studio.

Adicionar uma configuração de aplicativo ao 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 do cache.

Para adicionar a configuração de aplicativo:

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

    Captura de tela que mostra a pesquisa de um aplicativo no portal do Azure.

  2. Adicione uma nova configuração de aplicativo chamada CacheConnection ao aplicativo a ser usada para se conectar ao cache. Use o mesmo valor usado para CacheConnection no arquivo CacheSecrets.config. O valor contém o nome do host do cache e a chave de acesso.

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

Executar o aplicativo no Azure

  1. No navegador, vá até a URL do aplicativo. A URL aparece nos resultados da operação de publicação na Janela de Saída do Visual Studio. Ela 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 Teste do Cache do Azure para Redis para testar o acesso ao cache como você fez com a versão local.

Limpar os recursos

Se quiser continuar a usar os recursos que você criou neste artigo, conserve o grupo de recursos.

Caso contrário, para evitar encargos relacionados aos recursos, se você já tiver terminado de usá-los, pode excluir o grupo de recursos do Azure que você criou.

Aviso

A exclusão de um grupo de recursos é irreversível. Ao excluir o grupo de recursos, todos os recursos nele são excluídos permanentemente. Não exclua acidentalmente o grupo de recursos ou os recursos incorretos. Se você criou os recursos dentro de um grupo de recursos existente que tem recursos que você quer manter, você pode excluir cada recurso individualmente em vez de excluir o grupo todo.

Excluir um grupo de recursos

  1. Entre 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 que você criou para concluir este artigo. Na lista de resultados da pesquisa, selecione o grupo de recursos.

    Captura de tela que mostra uma lista de grupos de recursos para escolher e excluir.

  3. Selecione Excluir grupo de recursos.

  4. No painel Excluir um grupo de recursos, insira o nome do grupo de recursos para confirmar e selecione Excluir.

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

Em poucos instantes, o grupo de recursos e todos os seus recursos são excluídos.