Guida introduttiva: Usare Azure Cache for Redis con un'app Web ASP.NETQuickstart: Use Azure Cache for Redis with an ASP.NET web app

In questa guida di avvio rapido si usa Visual Studio 2019 per creare un'applicazione Web ASP.NET che si connette ad Azure Cache for Redis per archiviare e recuperare i dati dalla 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. Si distribuisce quindi l'app nel Servizio app di Azure.You then deploy the app to Azure App Service.

PrerequisitiPrerequisites

Creare il progetto di Visual StudioCreate the Visual Studio project

  1. Aprire Visual Studio e quindi selezionare File >Nuovo > Progetto.Open Visual Studio, and then and select File >New > Project.

  2. Nella finestra di dialogo Nuovo progetto seguire questa procedura:In the New Project dialog box, take the following steps:

    Crea progetto

    a.a. Nell'elenco Modelli espandere il nodo Visual C# .In the Templates list, expand the Visual C# node.

    b.b. Selezionare Cloud.Select Cloud.

    c.c. Selezionare Applicazione Web ASP.NET.Select ASP.NET Web Application.

    d.d. Verificare che sia selezionata l'opzione .NET Framework 4.5.2 o versione successiva.Verify that .NET Framework 4.5.2 or higher is selected.

    e.e. Nella casella Nome digitare un nome per il progetto.In the Name box, give the project a name. Per questo esempio è stato usato il nome ContosoTeamStats.For this example, we used ContosoTeamStats.

    f.f. Selezionare OK.Select OK.

  3. Selezionare MVC come tipo di progetto.Select MVC as the project type.

  4. Assicurarsi che per l'impostazione Autenticazione sia selezionata l'opzione Nessuna autenticazione.Make sure that No Authentication is specified for the Authentication settings. A seconda della versione di Visual Studio, il valore predefinito dell'impostazione Autenticazione può essere diverso.Depending on your version of Visual Studio, the default Authentication setting might be something else. Per modificarlo, selezionare Modifica autenticazione e quindi Nessuna autenticazione.To change it, select Change Authentication and then No Authentication.

  5. Selezionare OK per creare il progetto.Select OK to create the project.

Creare una cacheCreate a cache

A questo punto creare la cache per l'app.Next, you create the cache for the app.

  1. Per creare una cache, accedere al portale di Azure e selezionare Crea una risorsa.To create a cache, sign in to the Azure portal and select Create a resource.

    Selezionare Crea una risorsa

  2. Nella pagina Nuovo selezionare Database e quindi Cache di Azure per Redis.On the New page, select Databases and then select Azure Cache for Redis.

    Selezionare Cache di Azure per Redis

  3. Nella pagina Nuova cache Redis configurare le impostazioni per la nuova cache.On the New Redis Cache page, configure the settings for your new cache.

    ImpostazioneSetting Valore consigliatoSuggested value DESCRIZIONEDescription
    Nome DNSDNS name Immettere un nome univoco globale.Enter a globally unique name. Il nome della cache deve essere una stringa compresa tra 1 e 63 caratteri contenente solo numeri, lettere o trattini.The cache name must be a string between 1 and 63 characters that contains only numbers, letters, or hyphens. Il nome deve iniziare e terminare con un numero o una lettera e non può contenere trattini consecutivi.The name must start and end with a number or letter, and can't contain consecutive hyphens. Il nome host dell'istanza della cache sarà <Nome DNS>.redis.cache.windows.net.Your cache instance's host name will be <DNS name>.redis.cache.windows.net.
    SottoscrizioneSubscription Nell'elenco a discesa selezionare la sottoscrizione.Drop down and select your subscription. Sottoscrizione in cui creare la nuova istanza della cache di Azure per Redis.The subscription under which to create this new Azure Cache for Redis instance.
    Gruppo di risorseResource group Nell'elenco a discesa selezionare un gruppo di risorse oppure scegliere Crea nuovo e immettere il nome di un nuovo gruppo di risorse.Drop down and select a resource group, or select Create new and enter a new resource group name. Nome del gruppo di risorse in cui creare la cache e altre risorse.Name for the resource group in which to create your cache and other resources. L'inserimento di tutte le risorse di un'app in un unico gruppo di risorse ne semplifica la gestione o l'eliminazione.By putting all your app resources in one resource group, you can easily manage or delete them together.
    PosizioneLocation Nell'elenco a discesa selezionare una località.Drop down and select a location. Selezionare un'area in prossimità di altri servizi che useranno la cache.Select a region near other services that will use your cache.
    Piano tariffarioPricing tier Nell'elenco a discesa selezionare un piano tariffario.Drop down and select a Pricing tier. Il piano tariffario determina le dimensioni, le prestazioni e le funzionalità disponibili per la cache.The pricing tier determines the size, performance, and features that are available for the cache. Per altre informazioni, vedere la panoramica su Cache Redis di Azure.For more information, see Azure Cache for Redis Overview.
  4. Selezionare Create (Crea).Select Create.

    Creare un'istanza di Azure Cache for Redis

    La creazione della cache richiede un po' di tempo.It takes a while for the cache to create. È possibile monitorare lo stato di avanzamento nella pagina Panoramica della cache di Azure per Redis.You can monitor progress on the Azure Cache for Redis Overview page. Quando l'elemento Stato indica In esecuzione, la cache è pronta per l'uso.When Status shows as Running, the cache is ready to use.

    Istanza di Azure Cache for Redis creata

Recuperare il nome host, le porte e le chiavi di accesso dal portale di AzureRetrieve host name, ports, and access keys from the Azure portal

Per connettersi a un'istanza della cache di Azure per Redis, i client della cache devono conoscere il nome host, le porte e una chiave per la cache.To connect to an Azure Cache for Redis instance, cache clients need the host name, ports, and a key for the cache. Alcuni client possono fare riferimento a questi elementi usando nomi leggermente diversi.Some clients might refer to these items by slightly different names. È possibile ottenere il nome host, le porte e le chiavi dal portale di Azure.You can get the host name, ports, and keys from the Azure portal.

  • Per ottenere le chiavi di accesso, selezionare Chiavi di accesso nel riquadro di spostamento di sinistra della cache.To get the access keys, from your cache left navigation, select Access keys.

    Chiavi Cache Redis di Azure

  • Per ottenere il nome host e le porte, selezionare Proprietà nel riquadro di spostamento di sinistra della cache.To get the host name and ports, from your cache left navigation, select Properties. Il formato del nome host è <Nome DNS>.redis.cache.windows.net.The host name is of the form <DNS name>.redis.cache.windows.net.

    Domande frequenti su Cache Redis di Azure

Per modificare il file CacheSecrets.configTo edit the CacheSecrets.config file

  1. Creare un file nel computer denominato CacheSecrets.config. Inserirlo in una posizione in cui non verrà archiviato con il codice sorgente dell'applicazione di esempio.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. Per questa guida introduttiva, il file CacheSecrets.config si trova in C:\AppSecrets\CacheSecrets.config.For this quickstart, the CacheSecrets.config file is located at C:\AppSecrets\CacheSecrets.config.

  2. Modificare il file CacheSecrets.config.Edit the CacheSecrets.config file. Aggiungere quindi il contenuto seguente: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. Sostituire <cache-name> con il nome host della cache.Replace <cache-name> with your cache host name.

  4. Sostituire <access-key> con la chiave primaria per la cache.Replace <access-key> with the primary key for your cache.

    Suggerimento

    È possibile usare la chiave di accesso secondaria durante la rotazione delle chiavi come chiave alternativa mentre si rigenera la chiave di accesso primaria.You can use the secondary access key during key rotation as an alternate key while you regenerate the primary access key.

  5. Salvare il file.Save the file.

Aggiornare l'applicazione MVCUpdate the MVC application

In questa sezione si aggiorna l'applicazione per supportare una nuova visualizzazione con un semplice test su Cache Redis di Azure.In this section, you update the application to support a new view that displays a simple test against Azure Cache for Redis.

Aggiornare il file web.config con un'impostazione di app per la cacheUpdate the web.config file with an app setting for the cache

Quando si esegue l'applicazione in locale, queste informazioni in CacheSecrets.config vengono usate per connettersi all'istanza di Cache Redis di Azure.When you run the application locally, the information in CacheSecrets.config is used to connect to your Azure Cache for Redis instance. In un secondo momento si distribuirà l'applicazione in Azure.Later you deploy this application to Azure. A quel punto si configurerà un'impostazione dell'app in Azure usata dall'applicazione per recuperare le informazioni di connessione alla cache al posto di questo file.At that time, you configure an app setting in Azure that the application uses to retrieve the cache connection information instead of this file.

Poiché il file CacheSecrets.config non viene distribuito in Azure con l'applicazione, lo si usa solo quando si testa l'applicazione in locale.Because the file CacheSecrets.config isn't deployed to Azure with your application, you only use it while testing the application locally. Conservare queste informazioni nel modo più sicuro possibile per impedire l'accesso ai dati della cache da parte di utenti malintenzionati.Keep this information as secure as possible to prevent malicious access to your cache data.

Per aggiornare il file web.configTo update the web.config file

  1. In Esplora soluzioni aprire il file web.config facendo doppio clic su di esso.In Solution Explorer, double-click the web.config file to open it.

    Web.config

  2. Nel file web.config individuare l'elemento <appSetting>.In the web.config file, find the <appSetting> element. Aggiungere quindi l'attributo file seguente.Then add the following file attribute. Se è stato usato un nome o un percorso di file diverso, sostituire i valori dell'esempio con questi valori.If you used a different file name or location, substitute those values for the ones that are shown in the example.

  • Prima: <appSettings>Before: <appSettings>
  • Dopo: <appSettings file="C:\AppSecrets\CacheSecrets.config">After: <appSettings file="C:\AppSecrets\CacheSecrets.config">

Il runtime ASP.NET unisce il contenuto del file esterno con il markup nell'elemento <appSettings> .The ASP.NET runtime merges the contents of the external file with the markup in the <appSettings> element. Il runtime ignora l'attributo file, se non è possibile trovare il file specificato.The runtime ignores the file attribute if the specified file can't be found. I segreti, ovvero la stringa di connessione alla cache, non sono inclusi come parte del codice sorgente per l'applicazione.Your secrets (the connection string to your cache) aren't included as part of the source code for the application. Quando si distribuisce l'app Web in Azure, il file CacheSecrets.config non viene distribuito.When you deploy your web app to Azure, the CacheSecrets.config file isn't deployed.

Per configurare l'applicazione per l'uso di StackExchange.RedisTo configure the application to use StackExchange.Redis

  1. Per configurare l'app per usare il pacchetto NuGet StackExchange.Redis per Visual Studio, selezionare Strumenti > Gestione pacchetti NuGet > Console di Gestione pacchetti.To configure the app to use the StackExchange.Redis NuGet package for Visual Studio, select Tools > NuGet Package Manager > Package Manager Console.

  2. Eseguire questo comando nella finestra Package Manager Console:Run the following command from the Package Manager Console window:

    Install-Package StackExchange.Redis
    
  3. Il pacchetto NuGet scarica e aggiunge i riferimenti ad assembly necessari per consentire all'applicazione client di accedere a Cache Redis di Azure con il client della cache StackExchange.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 si preferisce usare una versione con nome sicuro della libreria client StackExchange.Redis, installare il pacchetto StackExchange.Redis.StrongName.If you prefer to use a strong-named version of the StackExchange.Redis client library, install the StackExchange.Redis.StrongName package.

Per aggiornare la classe HomeController e il layoutTo update the HomeController and Layout

  1. In Esplora soluzioni espandere la cartella Controllers e aprire il file HomeController.cs.In Solution Explorer, expand the Controllers folder, and then open the HomeController.cs file.

  2. Aggiungere le due istruzioni using seguenti all'inizio del file per supportare le impostazioni dell'app e del client della 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. Aggiungere il metodo seguente alla classe HomeController per supportare una nuova azione RedisCache che esegue alcuni comandi sulla nuova 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. In Esplora soluzioni espandere la cartella Views > Shared. Aprire quindi il file _Layout.cshtml.Then open the _Layout.cshtml file.

    Sostituire:Replace:

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

    con:with:

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

Per aggiungere una nuova visualizzazione RedisCacheTo add a new RedisCache view

  1. In Esplora soluzioni espandere la cartella Views e fare clic con il pulsante destro del mouse sula cartella Home.In Solution Explorer, expand the Views folder, and then right-click the Home folder. Scegliere Aggiungi > Visualizza... .Choose Add > View....

  2. Nella finestra di dialogo Aggiungi visualizzazione immettere RedisCache per Nome visualizzazione.In the Add View dialog box, enter RedisCache for the View Name. Quindi selezionare Aggiungi.Then select Add.

  3. Sostituire il codice nel file RedisCache.cshtml con il codice seguente: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>
    

Eseguire l'app in localeRun the app locally

Per impostazione predefinita, il progetto è configurato per ospitare l'app in locale in IIS Express per i test e il debug.By default, the project is configured to host the app locally in IIS Express for testing and debugging.

Per eseguire l'app in localeTo run the app locally

  1. In Visual Studio, selezionare Debug > Avvia debug per compilare e avviare l'app in locale per i test e il debug.In Visual Studio, select Debug > Start Debugging to build and start the app locally for testing and debugging.

  2. Nel browser selezionare Azure Cache for Redis Test (Test di Cache Redis di Azure) sulla barra di spostamento.In the browser, select Azure Cache for Redis Test on the navigation bar.

  3. Nell'esempio seguente la chiave Message in precedenza aveva un valore memorizzato nella cache, impostato usando la console di Cache Redis di Azure nel portale.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. L'app ha aggiornato questo valore memorizzato nella cache.The app updated that cached value. L'app ha anche eseguito i comandi PING e CLIENT LIST.The app also executed the PING and CLIENT LIST commands.

    Testo semplice completato in locale

Pubblicare ed eseguire l'app in AzurePublish and run in Azure

Dopo avere testato correttamente l'app in locale, è possibile distribuirla in Azure ed eseguirla nel cloud.After you successfully test the app locally, you can deploy the app to Azure and run it in the cloud.

Per pubblicare l'app in AzureTo publish the app to Azure

  1. In Visual Studio fare clic con il pulsante destro del mouse sul nodo di progetto in Esplora soluzioni.In Visual Studio, right-click the project node in Solution Explorer. Scegliere quindi Pubblica.Then select Publish.

    Pubblica

  2. Selezionare Servizio app di Microsoft Azure, quindi Crea nuovo e infine Pubblica.Select Microsoft Azure App Service, select Create New, and then select Publish.

    Eseguire la pubblicazione nel servizio app

  3. Nella finestra di dialogo Crea servizio app apportare le modifiche seguenti:In the Create App Service dialog box, make the following changes:

    ImpostazioneSetting Valore consigliatoRecommended value DESCRIZIONEDescription
    Nome appApp name Usare il valore predefinito.Use the default. Il nome dell'app è il nome host per l'app quando viene distribuita in Azure.The app name is the host name for the app when it's deployed to Azure. Se necessario, per rendere il nome univoco è possibile aggiungere un suffisso timestamp.The name might have a timestamp suffix added to it to make it unique if necessary.
    SottoscrizioneSubscription Scegliere la sottoscrizione di Azure.Choose your Azure subscription. Eventuali costi di hosting correlati vengono addebitati in questa sottoscrizione.This subscription is charged for any related hosting costs. Se si hanno più sottoscrizioni di Azure, verificare che sia selezionata la sottoscrizione desiderata.If you have multiple Azure subscriptions, verify that the subscription that you want is selected.
    Gruppo di risorseResource group Usare lo stesso gruppo di risorse in cui è stata creata la cache, ad esempio TestResourceGroup.Use the same resource group where you created the cache (for example, TestResourceGroup). Il gruppo di risorse consente di gestire tutte le risorse come gruppo.The resource group helps you manage all resources as a group. Successivamente, quando si vuole eliminare l'app, è sufficiente eliminare il gruppo.Later, when you want to delete the app, you can just delete the group.
    Piano di servizio appApp Service plan Selezionare Nuovo e quindi creare un nuovo piano di servizio app denominato TestingPlan.Select New, and then create a new App Service plan named TestingPlan.
    Usare lo stesso percorso usato durante la creazione della cache.Use the same Location you used when creating your cache.
    Scegliere il livello Gratuito per le dimensioni.Choose Free for the size.
    Un piano di servizio app definisce un set di risorse di calcolo per l'esecuzione di un'app Web.An App Service plan defines a set of compute resources for a web app to run with.

    Finestra di dialogo del servizio app

  4. Dopo aver configurato le impostazioni di hosting del servizio app, selezionare Crea.After you configure the App Service hosting settings, select Create.

  5. Monitorare la finestra Output in Visual Studio per esaminare lo stato della pubblicazione.Monitor the Output window in Visual Studio to see the publishing status. Dopo che l'app è stata pubblicata, viene registrato il relativo URL:After the app has been published, the URL for the app is logged:

    Output della pubblicazione

Aggiungere l'impostazione dell'app per la cacheAdd the app setting for the cache

Dopo che la nuova app è stata pubblicata, aggiungere una nuova impostazione dell'app.After the new app has been published, add a new app setting. Questa impostazione viene usata per archiviare le informazioni di connessione alla cache.This setting is used to store the cache connection information.

Per aggiungere l'impostazione dell'appTo add the app setting

  1. Digitare il nome dell'app nella barra di ricerca nella parte superiore del portale di Azure per trovare l'app appena creata.Type the app name in the search bar at the top of the Azure portal to find the new app you created.

    Trovare l'app

  2. Aggiungere una nuova impostazione dell'app denominata CacheConnection per l'app da usare per connettersi alla cache.Add a new app setting named CacheConnection for the app to use to connect to the cache. Usare lo stesso valore configurato per CacheConnection nel file CacheSecrets.config.Use the same value you configured for CacheConnection in your CacheSecrets.config file. Il valore contiene la chiave di accesso e il nome host della cache.The value contains the cache host name and access key.

    Aggiungere l'impostazione dell'app

Eseguire l'app in AzureRun the app in Azure

Nel browser passare all'URL per l'app.In your browser, go to the URL for the app. L'URL viene visualizzato nei risultati dell'operazione di pubblicazione nella finestra dell'output di Visual Studio.The URL appears in the results of the publishing operation in the Visual Studio output window. È disponibile anche nel portale di Azure nella pagina di panoramica dell'app creata.It's also provided in the Azure portal on the overview page of the app you created.

Selezionare Azure Cache for Redis Test (Test di Cache Redis di Azure) sulla barra di spostamento per testare l'accesso alla cache.Select Azure Cache for Redis Test on the navigation bar to test cache access.

Test semplice completato in Azure

Pulire le risorseClean up resources

Se si prosegue con l'esercitazione successiva, è possibile conservare le risorse create in questa guida introduttiva e riutilizzarle.If you're continuing to the next tutorial, you can keep the resources that you created in this quickstart and reuse them.

In caso contrario, se si è terminato il lavoro con l'applicazione di esempio della guida introduttiva, è possibile eliminare le risorse di Azure create in questa guida introduttiva per evitare i costi correlati.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

L'eliminazione di un gruppo di risorse è irreversibile.Deleting a resource group is irreversible. Quando si elimina un gruppo di risorse, tutte le risorse in esso contenute vengono eliminate in modo permanente.When you delete a resource group, all the resources in it are permanently deleted. Assicurarsi di non eliminare accidentalmente il gruppo di risorse sbagliato o le risorse errate.Make sure that you do not accidentally delete the wrong resource group or resources. Se le risorse per questo esempio sono state create all'interno di un gruppo di risorse esistente che contiene anche elementi da mantenere, è possibile eliminare ogni elemento singolarmente dai rispettivi pannelli anziché eliminare il gruppo di risorse.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.

Per eliminare un gruppo di risorseTo delete a resource group

  1. Accedere al portale di Azure e selezionare Gruppi di risorse.Sign in to the Azure portal, and then select Resource groups.

  2. Nella casella Filtra per nome immettere il nome del gruppo di risorse.In the Filter by name... box, type the name of your resource group. Le istruzioni di questo articolo usano un gruppo di risorse denominato TestResources.The instructions for this article used a resource group named TestResources. Nel gruppo di risorse, nell'elenco dei risultati, selezionare ... e quindi Elimina gruppo di risorse.On your resource group, in the results list, select ..., and then select Delete resource group.

    Delete

Verrà chiesto di confermare l'eliminazione del gruppo di risorse.You're asked to confirm the deletion of the resource group. Digitare il nome del gruppo di risorse per confermare e quindi selezionare Elimina.Type the name of your resource group to confirm, and then select Delete.

Dopo qualche istante, il gruppo di risorse e tutte le risorse che contiene vengono eliminati.After a few moments, the resource group and all of its resources are deleted.

Passaggi successiviNext steps

Nell'esercitazione successiva si userà Cache Redis di Azure in uno scenario più realistico per migliorare le prestazioni di un'app.In the next tutorial, you use Azure Cache for Redis in a more realistic scenario to improve performance of an app. L'applicazione viene aggiornata per memorizzare nella cache i risultati del tabellone punteggi usando il modello cache-aside con ASP.NET e un database.You update this application to cache leaderboard results using the cache-aside pattern with ASP.NET and a database.