Início rápido: usar o cache do Azure para Redis com um aplicativo Web ASP.NETQuickstart: Use Azure Cache for Redis with an ASP.NET web app

Neste guia de início rápido, você usa o Visual Studio 2019 para criar um aplicativo Web ASP.NET que se conecta ao cache do Azure para Redis para armazenar e recuperar dados do cache.In this quickstart, you use Visual Studio 2019 to create an ASP.NET web application that connects to Azure Cache for Redis to store and retrieve data from the cache. Em seguida, implante o aplicativo no serviço Azure App.You then deploy the app to Azure App Service.

Pré-requisitosPrerequisites

Criar o projeto do Visual StudioCreate the Visual Studio project

  1. Abra o Visual Studio e, em seguida, e selecione Ficheiro >Novo > Projeto.Open Visual Studio, and then and select File >New > Project.

  2. Na caixa de diálogo Novo Projeto, siga os passos seguintes:In the New Project dialog box, take the following steps:

    Criar o projeto

    a.a. Na lista Modelos, expanda o nó Visual C# .In the Templates list, expand the Visual C# node.

    b.b. Selecione Cloud.Select Cloud.

    c.c. Selecione Aplicação Web ASP.NET.Select ASP.NET Web Application.

    d.d. Verifique se está selecionado o .NET Framework 4.5.2 ou superior.Verify that .NET Framework 4.5.2 or higher is selected.

    e.e. Na caixa Nome, dê um nome ao projeto.In the Name box, give the project a name. Neste exemplo, utilizámos ContosoTeamStats.For this example, we used ContosoTeamStats.

    f.f. Selecione OK.Select OK.

  3. Selecione MVC como tipo de projeto.Select MVC as the project type.

  4. Certifique-se de que Sem Autenticação está especificado para as definições Autenticação.Make sure that No Authentication is specified for the Authentication settings. Dependendo da versão do Visual Studio, a predefinição Autenticação pode ser outra.Depending on your version of Visual Studio, the default Authentication setting might be something else. Para alterá-la,selecione Alterar Autenticação e, em seguida, Sem Autenticação.To change it, select Change Authentication and then No Authentication.

  5. Selecione OK para criar o projeto.Select OK to create the project.

Criar uma cacheCreate a cache

Em seguida, crie a cache para a aplicação.Next, you create the cache for the app.

  1. Para criar um cache, entre no portal do Azure e selecione criar um recurso.To create a cache, sign in to the Azure portal and select Create a resource.

    Selecione criar um recurso

  2. Na página novo , selecione bancos de dados e, em seguida, selecione cache do Azure para Redis.On the New page, select Databases and then select Azure Cache for Redis.

    Selecione o cache do Azure para Redis

  3. Na página novo cache Redis , defina as configurações para o novo cache.On the New Redis Cache page, configure the settings for your new cache.

    DefiniçãoSetting Valor sugeridoSuggested value DescriçãoDescription
    Nome DNSDNS name Insira um nome globalmente exclusivo.Enter a globally unique name. O nome do cache deve ser uma cadeia entre 1 e 63 caracteres que contenham apenas números, letras ou hifens.The cache name must be a string between 1 and 63 characters that contains only numbers, letters, or hyphens. O nome deve começar e terminar com um número ou uma letra e não pode conter hifens consecutivos.The name must start and end with a number or letter, and can't contain consecutive hyphens. O nome do host da instância do cache será <nome DNS >. Redis. cache. Windows. net.Your cache instance's host name will be <DNS name>.redis.cache.windows.net.
    SubscriçãoSubscription Clique na lista suspensa e selecione sua assinatura.Drop down and select your subscription. A assinatura na qual criar esse novo cache do Azure para a instância de Redis.The subscription under which to create this new Azure Cache for Redis instance.
    Grupo de recursosResource group Na lista suspensa, selecione um grupo de recursos ou selecione criar novo e insira um novo nome de grupo de recursos.Drop down and select a resource group, or select Create new and enter a new resource group name. Nome do grupo de recursos no qual criar o cache e outros recursos.Name for the resource group in which to create your cache and other resources. Ao colocar todos os seus recursos de aplicativo em um grupo de recursos, você pode facilmente gerenciá-los ou excluí-los juntos.By putting all your app resources in one resource group, you can easily manage or delete them together.
    LocalizaçãoLocation Na lista suspensa e selecione um local.Drop down and select a location. Selecione uma região perto de outros serviços que usarão seu cache.Select a region near other services that will use your cache.
    Escalão de preçoPricing tier Menu suspenso e selecione um tipo de preço.Drop down and select a Pricing tier. O escalão de preço determina o tamanho, o desempenho e as funcionalidades que estão disponíveis para a cache.The pricing tier determines the size, performance, and features that are available for the cache. Para obter mais informações, consulte visão geral do cache do Azure para Redis.For more information, see Azure Cache for Redis Overview.
  4. Selecione Criar.Select Create.

    Criar cache do Azure para Redis

    Leva um tempo para que o cache seja criado.It takes a while for the cache to create. Você pode monitorar o progresso na página de visão geral do cache do Azure para Redis.You can monitor progress on the Azure Cache for Redis Overview page. Quando o status é mostrado como em execução, o cache está pronto para uso.When Status shows as Running, the cache is ready to use.

    Cache do Azure para Redis criado

Recuperar o nome do host, as portas e as chaves de acesso do portal do AzureRetrieve host name, ports, and access keys from the Azure portal

Para se conectar a um cache do Azure para a instância Redis, os clientes de cache precisam do nome do host, das portas e de uma chave para o cache.To connect to an Azure Cache for Redis instance, cache clients need the host name, ports, and a key for the cache. Alguns clientes podem mencionar esses itens com nomes ligeiramente diferentes.Some clients might refer to these items by slightly different names. Você pode obter o nome do host, as portas e as chaves do portal do Azure.You can get the host name, ports, and keys from the Azure portal.

  • Para obter as chaves de acesso, na navegação à esquerda do cache, selecione chaves de acesso.To get the access keys, from your cache left navigation, select Access keys.

    Cache do Azure para chaves Redis

  • Para obter o nome do host e as portas do painel de navegação esquerdo do cache, selecione Propriedades.To get the host name and ports, from your cache left navigation, select Properties. O nome do host está no formato <nome DNS >. Redis. cache. Windows. net.The host name is of the form <DNS name>.redis.cache.windows.net.

    Cache do Azure para propriedades Redis

Para editar o ficheiro CacheSecrets.configTo edit the CacheSecrets.config file

  1. Crie um arquivo em seu computador chamado CacheSecrets. config. Coloque-o em um local onde ele não será verificado com o código-fonte do seu aplicativo de exemplo.Create a file on your computer named CacheSecrets.config. Put it in a location where it won't be checked in with the source code of your sample application. Neste início rápido, o ficheiro CacheSecrets.config está localizado em C:\AppSecrets\CacheSecrets.config.For this quickstart, the CacheSecrets.config file is located at C:\AppSecrets\CacheSecrets.config.

  2. Edite o ficheiro CacheSecrets.config.Edit the CacheSecrets.config file. Em seguida, adicione o seguinte conteúdo:Then add the following content:

    <appSettings>
        <add key="CacheConnection" value="<cache-name>.redis.cache.windows.net,abortConnect=false,ssl=true,password=<access-key>"/>
    </appSettings>
    
  3. Substitua <cache-name> pelo nome do anfitrião da cache.Replace <cache-name> with your cache host name.

  4. Substitua <access-key> pela chave primária da sua cache.Replace <access-key> with the primary key for your cache.

    Dica

    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.You can use the secondary access key during key rotation as an alternate key while you regenerate the primary access key.

  5. Guarde o ficheiro.Save the file.

Atualizar a aplicação MVCUpdate the MVC application

Nesta seção, você atualiza o aplicativo para dar suporte a uma nova exibição que exibe um teste simples no cache do Azure para Redis.In this section, you update the application to support a new view that displays a simple test against Azure Cache for Redis.

Atualizar o ficheiro web.config com uma definição de aplicação para a cacheUpdate the web.config file with an app setting for the cache

Quando você executa o aplicativo localmente, as informações em CacheSecrets. config são usadas para se conectar ao cache do Azure para a instância do Redis.When you run the application locally, the information in CacheSecrets.config is used to connect to your Azure Cache for Redis instance. Posteriormente, vai implementar esta aplicação no Azure.Later you deploy this application to Azure. Nessa altura, vai configurar uma definição de aplicação no Azure que a aplicação utiliza para obter as informações de ligação da cache em vez deste ficheiro.At that time, you configure an app setting in Azure that the application uses to retrieve the cache connection information instead of this file.

Uma vez que o ficheiro CacheSecrets.config não está implementado no Azure com a sua aplicação, só pode utilizá-lo durante o teste da aplicação localmente.Because the file CacheSecrets.config isn't deployed to Azure with your application, you only use it while testing the application locally. Mantenha estas informações o mais seguras possíveis para impedir o acesso malicioso aos seus dados em cache.Keep this information as secure as possible to prevent malicious access to your cache data.

Para atualizar o ficheiro web.configTo update the web.config file

  1. Em Explorador de Soluções, faça duplo clique no ficheiro web.config para o abrir.In Solution Explorer, double-click the web.config file to open it.

    Web.config

  2. No ficheiro web.config, encontre o elemento <appSetting>.In the web.config file, find the <appSetting> element. Em seguida, adicione o atributo file seguinte.Then add the following file attribute. Se utilizou um nome de ficheiro ou localização diferentes, substitua estes valores pelos valores que são mostrados no exemplo.If you used a different file name or location, substitute those values for the ones that are shown in the example.

  • Antes: <appSettings>Before: <appSettings>
  • Após: <appSettings file="C:\AppSecrets\CacheSecrets.config">After: <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>.The ASP.NET runtime merges the contents of the external file with the markup in the <appSettings> element. O tempo de execução ignora o atributo de ficheiro se não for possível localizar o ficheiro especificado.The runtime ignores the file attribute if the specified file can't be found. 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.Your secrets (the connection string to your cache) aren't included as part of the source code for the application. Quando você implanta seu aplicativo Web no Azure, o arquivo CacheSecrets. config não é implantado.When you deploy your web app to Azure, the CacheSecrets.config file isn't deployed.

Para configurar a aplicação para utilizar o StackExchange.RedisTo configure the application to use StackExchange.Redis

  1. Para configurar a aplicação para utilizar o pacote NuGet StackExchange.Redis para o Visual Studio, selecione Ferramentas > Gestor de Pacotes NuGet > Consola do Gestor de Pacotes.To configure the app to use the StackExchange.Redis NuGet package for Visual Studio, select Tools > NuGet Package Manager > Package Manager Console.

  2. Execute o seguinte comando a partir da janela Package Manager Console:Run the following command from the Package Manager Console window:

    Install-Package StackExchange.Redis
    
  3. O pacote NuGet transfere e adiciona as referências de assemblagem necessárias para a sua aplicação de cliente acessar o Cache do Azure para Redis com a Cache de StackExchange.Azure para cliente do Redis.The NuGet package downloads and adds the required assembly references for your client application to access Azure Cache for Redis with the StackExchange.Azure Cache for Redis client. Se preferir utilizar uma versão com um nome forte da biblioteca de cliente StackExchange.Redis, instale o pacote StackExchange.Redis.StrongName.If you prefer to use a strong-named version of the StackExchange.Redis client library, install the StackExchange.Redis.StrongName package.

Para atualizar o HomeController e o EsquemaTo update the HomeController and Layout

  1. No Explorador de Soluções, expanda a pasta Controladores e, em seguida, abra o ficheiro HomeController.cs.In Solution Explorer, expand the Controllers folder, and then open the HomeController.cs file.

  2. Adicione as duas instruções using abaixo na parte superior do ficheiro para suportar as definições da aplicação e do cliente da cache.Add the following two using statements at the top of the file to support the cache client and app settings.

    using System.Configuration;
    using StackExchange.Redis;
    
  3. Adicione o seguinte método à classe HomeController para suportar uma nova ação RedisCache que executa alguns comandos numa nova cache.Add the following method to the HomeController class to support a new RedisCache action that runs some commands against the new cache.

        public ActionResult RedisCache()
        {
            ViewBag.Message = "A simple example with Azure Cache for Redis on ASP.NET.";
    
            var lazyConnection = new Lazy<ConnectionMultiplexer>(() =>
            {
                string cacheConnection = ConfigurationManager.AppSettings["CacheConnection"].ToString();
                return ConnectionMultiplexer.Connect(cacheConnection);
            });
    
            // Connection refers to a property that returns a ConnectionMultiplexer
            // as shown in the previous example.
            IDatabase cache = lazyConnection.Value.GetDatabase();
    
            // Perform cache operations using the cache object...
    
            // Simple PING command
            ViewBag.command1 = "PING";
            ViewBag.command1Result = cache.Execute(ViewBag.command1).ToString();
    
            // Simple get and put of integral data types into the cache
            ViewBag.command2 = "GET Message";
            ViewBag.command2Result = cache.StringGet("Message").ToString();
    
            ViewBag.command3 = "SET Message \"Hello! The cache is working from ASP.NET!\"";
            ViewBag.command3Result = cache.StringSet("Message", "Hello! The cache is working from ASP.NET!").ToString();
    
            // Demonstrate "SET Message" executed as expected...
            ViewBag.command4 = "GET Message";
            ViewBag.command4Result = cache.StringGet("Message").ToString();
    
            // Get the client list, useful to see if connection list is growing...
            ViewBag.command5 = "CLIENT LIST";
            ViewBag.command5Result = cache.Execute("CLIENT", "LIST").ToString().Replace(" id=", "\rid=");
    
            lazyConnection.Value.Dispose();
    
            return View();
        }
    
  4. No Explorador de Soluções, expanda a pasta Vistas > Partilhado. Em seguida, abra o ficheiro _Layout.cshtml.Then open the _Layout.cshtml file.

    Substituir:Replace:

    @Html.ActionLink("Application name", "Index", "Home", new { area = "" }, new { @class = "navbar-brand" })
    

    Por:with:

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

Para adicionar uma nova vista da RedisCacheTo add a new RedisCache view

  1. No Explorador de Soluções, expanda a pasta Vistas e, em seguida, clique com o botão direito do rato na pasta Raiz.In Solution Explorer, expand the Views folder, and then right-click the Home folder. Escolha Adicionar > Vista...Choose Add > View....

  2. Na caixa de diálogo Adicionar Vista, introduza RedisCache como o Nome da Vista.In the Add View dialog box, enter RedisCache for the View Name. Em seguida, selecione Adicionar.Then select Add.

  3. Substitua o código no ficheiro RedisCache.cshtml pelo código seguinte:Replace the code in the RedisCache.cshtml file with the following code:

    @{
        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 localmenteRun the app locally

Por predefinição, o projeto está configurado para alojar a aplicação localmente em IIS Express para testes e depuração.By default, the project is configured to host the app locally in IIS Express for testing and debugging.

Para executar a aplicação localmenteTo run the app locally

  1. No Visual Studio, selecione Depurar > Iniciar Depuração para criar e iniciar a aplicação localmente para testes e depuração.In Visual Studio, select Debug > Start Debugging to build and start the app locally for testing and debugging.

  2. No navegador, selecione o cache do Azure para Redis teste na barra de navegação.In the browser, select Azure Cache for Redis Test on the navigation bar.

  3. No exemplo a seguir, a chave de Message tinha anteriormente um valor armazenado em cache, que foi definido usando o console de cache do Azure para Redis no Portal.In the following example, the Message key previously had a cached value, which was set by using the Azure Cache for Redis console in the portal. A aplicação atualizou esse valor em cache.The app updated that cached value. A aplicação também executou os comandos PING e CLIENT LIST.The app also executed the PING and CLIENT LIST commands.

    Teste simples concluído no local

Publicar e executar no AzurePublish and run in Azure

Depois de ter testado com êxito a aplicação localmente, pode implementar a aplicação no Azure e executá-la na cloud.After you successfully test the app locally, you can deploy the app to Azure and run it in the cloud.

Para publicar a aplicação no AzureTo publish the app to Azure

  1. No Visual Studio, clique com o botão direito do rato no nó do projeto no Explorador de Soluções.In Visual Studio, right-click the project node in Solution Explorer. Em seguida, selecione Publicar.Then select Publish.

    Publicar

  2. Selecione Serviço de Aplicações do Microsoft Azure, selecione Criar Novo e, em seguida, selecione Publicar.Select Microsoft Azure App Service, select Create New, and then select Publish.

    Publicar no Serviço de Aplicações

  3. Na caixa de diálogo Criar Serviço de Aplicações, faça as seguintes alterações:In the Create App Service dialog box, make the following changes:

    DefiniçãoSetting Valor recomendadoRecommended value DescriçãoDescription
    Nome da aplicaçãoApp name Utilize a predefinição.Use the default. O nome da aplicação é o nome do anfitrião da aplicação quando é implementada no Azure.The app name is the host name for the app when it's deployed to Azure. O nome pode ter um sufixo de carimbo de data/hora adicionado ao mesmo para torná-lo exclusivo, caso seja necessário.The name might have a timestamp suffix added to it to make it unique if necessary.
    SubscriçãoSubscription Escolha a sua subscrição do Azure.Choose your Azure subscription. Esta subscrição é debitada relativamente a quaisquer custos de alojamento relacionados.This subscription is charged for any related hosting costs. Se tiver várias subscrições do Azure, verifique se a subscrição pretendida está selecionada.If you have multiple Azure subscriptions, verify that the subscription that you want is selected.
    Grupo de recursosResource group Utilize o mesmo grupo de recursos onde criou a cache (por exemplo, TestResourceGroup).Use the same resource group where you created the cache (for example, TestResourceGroup). O grupo de recursos ajuda-o a gerir todos os recursos como um grupo.The resource group helps you manage all resources as a group. Mais tarde, quando pretender eliminar a aplicação, basta apenas eliminar o grupo.Later, when you want to delete the app, you can just delete the group.
    Plano do Serviço de AplicaçõesApp Service plan Selecione Novo e, em seguida, crie um novo plano do Serviço de Aplicações com o nome TestingPlan.Select New, and then create a new App Service plan named TestingPlan.
    Utilize a mesma Localização que serviu para criar a cache.Use the same Location you used when creating your cache.
    Escolha Gratuito para o tamanho.Choose Free for the size.
    Um plano de Serviço de Aplicações define um conjunto de recursos de computação para a execução da aplicação Web.An App Service plan defines a set of compute resources for a web app to run with.

    Caixa de diálogo Serviço de Aplicações

  4. Depois de configurar as definições de alojamento do Serviço de Aplicações, selecione Criar.After you configure the App Service hosting settings, select Create.

  5. Monitorize a janela Saída no Visual Studio para ver o estado de publicação.Monitor the Output window in Visual Studio to see the publishing status. Depois de a aplicação ter sido publicada, o URL da aplicação é registado:After the app has been published, the URL for the app is logged:

    Saída da publicação

Adicionar a definição da aplicação à cacheAdd the app setting for the cache

Depois de a nova aplicação ter sido publicada, adicione uma nova definição de aplicação.After the new app has been published, add a new app setting. Esta definição é utilizada para armazenar as informações de ligação da cache.This setting is used to store the cache connection information.

Para adicionar a definição de aplicaçãoTo add the app setting

  1. Escreva o nome da aplicação na barra de pesquisa, na parte superior do portal do Azure, para localizar a nova aplicação que acabou de criar.Type the app name in the search bar at the top of the Azure portal to find the new app you created.

    Encontrar a aplicação

  2. Adicione uma nova definição de aplicação denominada CacheConnection para a aplicação utilizar para se ligar à cache.Add a new app setting named CacheConnection for the app to use to connect to the cache. Utilize o mesmo valor que configurou para CacheConnection no ficheiro CacheSecrets.config.Use the same value you configured for CacheConnection in your CacheSecrets.config file. O valor contém o nome do anfitrião da cache e a chave de acesso.The value contains the cache host name and access key.

    Adicionar definição de aplicação

Executar a aplicação no AzureRun the app in Azure

No browser, aceda ao URL da aplicação.In your browser, go to the URL for the app. O URL é apresentado nos resultados da operação de publicação na janela de saída do Visual Studio.The URL appears in the results of the publishing operation in the Visual Studio output window. Também é fornecido no portal do Azure na página de descrição geral da aplicação que criou.It's also provided in the Azure portal on the overview page of the app you created.

Selecione o cache do Azure para Redis teste na barra de navegação para testar o acesso ao cache.Select Azure Cache for Redis Test on the navigation bar to test cache access.

Teste simples concluído do Azure

Limpar recursosClean up resources

Se avançar para o próximo tutorial, pode manter os recursos que criou neste início rápido e reutilizá-los.If you're continuing to the next tutorial, you can keep the resources that you created in this quickstart and reuse them.

Caso contrário, se tiver concluído o exemplo de aplicação do início rápido, pode eliminar os recursos do Azure que criou neste início rápido, para evitar encargos.Otherwise, if you're finished with the quickstart sample application, you can delete the Azure resources that you created in this quickstart to avoid charges.

Importante

A eliminação de um grupo de recursos é irreversível.Deleting a resource group is irreversible. Quando elimina um grupo de recursos, todos os recursos nele contidos são eliminados permanentemente.When you delete a resource group, all the resources in it are permanently deleted. Confirme que não elimina acidentalmente o grupo de recursos ou recursos errados.Make sure that you do not accidentally delete the wrong resource group or resources. Se tiver criado os recursos para alojar este exemplo num grupo de recursos existente que contém os recursos que pretende manter, poderá eliminar cada recurso individualmente nos respetivos painéis em vez de eliminar o grupo de recursos.If you created the resources for hosting this sample inside an existing resource group that contains resources you want to keep, you can delete each resource individually from their respective blades instead of deleting the resource group.

Para eliminar um grupo de recursosTo delete a resource group

  1. Inicie sessão no Portal do Azure e selecione Grupos de recursos.Sign in to the Azure portal, and then select Resource groups.

  2. Na caixa Filtrar por nome... , escreva o nome do grupo de recursos.In the Filter by name... box, type the name of your resource group. As instruções neste artigo utilizaram um grupo de recursos denominado TestResources.The instructions for this article used a resource group named TestResources. No grupo de recursos na lista de resultados, selecione ... e, em seguida, selecione Eliminar grupo de recursos.On your resource group, in the results list, select ..., and then select Delete resource group.

    Eliminar

É-lhe pedido que confirme a eliminação do grupo de recursos.You're asked to confirm the deletion of the resource group. Escreva o nome do grupo de recursos para confirmar e, em seguida, selecione Eliminar.Type the name of your resource group to confirm, and then select Delete.

Após alguns instantes, o grupo de recursos e todos os respetivos recursos são eliminados.After a few moments, the resource group and all of its resources are deleted.

Passos seguintesNext steps

No próximo tutorial, você usará o cache do Azure para Redis em um cenário mais realista para melhorar o desempenho de um aplicativo.In the next tutorial, you use Azure Cache for Redis in a more realistic scenario to improve performance of an app. Vai atualizar esta aplicação com os resultados de classificação da cache com o padrão cache-aside com ASP.NET e uma base de dados.You update this application to cache leaderboard results using the cache-aside pattern with ASP.NET and a database.