Avvio rapido: Creare un'app Web ASP.NET con Cache RedisQuickstart: Create a ASP.NET Web App with Redis Cache

IntroduzioneIntroduction

Questo avvio rapido illustra come creare e distribuire un'applicazione Web ASP.NET in un'app Web nel Servizio app di Azure usando Visual Studio 2017.This quickstart shows how to create and deploy an ASP.NET web application to Azure App Service using Visual Studio 2017. L'applicazione di esempio si connette a un'istanza di Cache Redis di Azure per archiviare e recuperare i dati dalla cache.The sample application connects to an Azure Redis Cache to store and retrieve data from the cache. Al termine dell'avvio rapido si otterrà un'app Web in esecuzione, ospitata in Azure, che legge e scrive in un'istanza di Cache Redis di Azure.When you complete the quickstart you have a running web app, hosted in Azure, that reads and writes to an Azure Redis Cache.

Test semplice completato in Azure

Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.If you don't have an Azure subscription, create a free account before you begin.

prerequisitiPrerequisites

Per completare l'avvio rapido, sono necessari i prerequisiti seguenti:To complete the quickstart, you must have the following prerequisites:

  • Installare Visual Studio 2017 con i carichi di lavoro seguenti:Install Visual Studio 2017 with the following workloads:
    • Sviluppo Web e ASP.NETASP.NET and web development
    • Sviluppo di AzureAzure Development

Creare il progetto di Visual StudioCreate the Visual Studio project

Aprire Visual Studio e fare clic su File, Nuovo, Progetto.Open Visual Studio and click File, New, Project.

Crea progetto

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

  1. Espandere il nodo Visual C# nell'elenco Modelli.Expand the Visual C# node in the Templates list
  2. Selezionare Cloud.Select Cloud
  3. Fare clic su Applicazione Web ASP.NET.Click ASP.NET Web Application
  4. Assicurarsi che sia selezionata l'opzione .NET Framework 4.5.2 o versione successiva.Ensure that .NET Framework 4.5.2 or higher is selected
  5. Assegnare un nome al progetto nella casella di testo Nome, in questo esempio ContosoTeamStats.Give the project a name in the Name textbox, for this example we've used ContosoTeamStats
  6. Fare clic su OK.Click OK.

Verrà visualizzata una schermata Nuova applicazione Web ASP.NET:You will be presented with a New ASP.NET Web Application screen:

Seleziona modello progetto

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

Assicurarsi che per l'impostazione Autenticazione sia specificato Nessuna autenticazione.Ensure that No Authentication is specified for the Authentication settings. A seconda della versione di Visual Studio, il valore predefinito può essere diverso.Depending on your version of Visual Studio, the default may be set to something else. Per modificarlo, fare clic su Modifica autenticazione e selezionare Nessuna autenticazione.To change it, click Change Authentication and select No Authentication.

Fare clic su OK per creare il progetto.Click 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.To create a cache, first sign in to the Azure portal. Selezionare quindi Crea una risorsa > Database > Cache Redis.Then select Create a resource > Databases > Redis Cache.

    New cache

  2. In Nuova cache Redis, configurare le impostazioni per la nuova cache.In New Redis Cache, configure the settings for your new cache.

    ImpostazioneSetting Valore consigliatoSuggested value DESCRIZIONEDescription
    Nome DNSDNS name Nome globalmente univocoGlobally unique name Nome della cache.The cache name. Deve essere una stringa contenente da 1 a 63 caratteri che possono includere solo numeri, lettere e il carattere -.It must be a string between 1 and 63 characters and contain only numbers, letters, and the - character. Il nome della cache non può iniziare o terminare con il carattere - e i caratteri - consecutivi non sono validi.The cache name cannot start or end with the - character, and consecutive - characters are not valid.
    SottoscrizioneSubscription Sottoscrizione in usoYour subscription Sottoscrizione in cui viene creata questa nuova istanza di Cache Redis di Azure.The subscription under which this new Azure Redis Cache instance is created.
    Gruppo di risorseResource group TestResourcesTestResources Nome del nuovo gruppo di risorse in cui creare la cache.Name for the new resource group in which to create your cache. Inserendo tutte le risorse per un'app in un gruppo è possibile gestirle insieme.By putting all the resources for an app in a group, you can manage them together. Ad esempio, eliminando il gruppo di risorse si eliminano tutte le risorse associate all'app.For example, deleting the resource group deletes all resources that are associated with the app.
    PosizioneLocation Stati Uniti orientaliEast US Scegliere una regione nelle vicinanze di altri servizi che utilizzeranno la cache.Choose a region near to other services that will use your cache.
    Piano tariffarioPricing tier C0 Basic (cache da 250 MB)Basic C0 (250 MB Cache) 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 Panoramica della cache Redis di Azure.For more information, see Azure Redis Cache Overview.
    Aggiungi al dashboardPin to dashboard SelezionatoSelected Aggiungere la nuova cache al dashboard per renderla più semplice da trovare.Pin the new cache to your dashboard to make it easy to find.

    Create cache

  3. Dopo aver configurato le impostazioni della nuova cache, selezionare Crea.After the new cache settings are configured, select Create.

    La creazione della cache può richiedere alcuni minuti.It can take a few minutes for the cache to be created. Per verificare lo stato è possibile monitorare l'avanzamento nel dashboard.To check the status, you can monitor the progress on the dashboard. Dopo la creazione, lo stato della cache sarà In esecuzione e sarà possibile usarla subito.After the cache has been created, it shows the status Running, and is ready for use.

    Cache created

Recuperare il nome dell'host, le porte e le chiavi di accesso usando il portale di AzureRetrieve host name, ports, and access keys by using the Azure portal

Per connettersi a un'istanza Cache Redis di Azure, è necessario specificare il nome host, le porte e le chiavi della cache.When connecting to an Azure Redis Cache 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. Queste informazioni possono essere recuperate nel portale di Azure.You can retrieve this information in the Azure portal.

Per recuperare le chiavi di accesso e il nome hostTo retrieve the access keys and host name

  1. Per recuperare le chiavi di accesso tramite il portale di Azure, individuare la cache e selezionare Chiavi di accesso.To retrieve the access keys by using the Azure portal, browse to your cache and select Access keys.

    Chiavi di Cache Redis di Azure

  2. Per recuperare il nome host e le porte, selezionare Proprietà.To retrieve the host name and ports, select Properties.

    Proprietà di Cache Redis di Azure

Creare un file nel computer denominato CacheSecrets.config e 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 and place it in a location where it won't be checked in with the source code of your sample application. Per questo avvio rapido, il file CacheSecrets.config si trova nel percorso C:\AppSecrets\CacheSecrets.config.For this quickstart, the CacheSecrets.config file is located here, C:\AppSecrets\CacheSecrets.config.

Modificare il file CacheSecrets.config e aggiungere il contenuto seguente:Edit the CacheSecrets.config file and add the following contents:

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

Sostituire <cache-name> con il nome host della cache.Replace <cache-name> with your cache host name.

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

Suggerimento

La chiave di accesso secondaria viene usata nella rotazione delle chiavi come chiave alternativa mentre si rigenera la chiave di accesso primaria.The secondary access key is used during key rotation as an alternate key while you regenerate the primary access key.

Salvare il file.Save the file.

Aggiornare l'applicazione MVCUpdate the MVC application

In questa sezione si aggiornerà l'applicazione per supportare una nuova visualizzazione con un test semplice con un'istanza di Cache Redis di Azure.In this section, you update the application to support a new view that will display a simple test against an Azure Redis Cache.

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 Redis Cache instance. In un secondo momento si distribuirà l'applicazione in Azure.Later you'll deploy this application to Azure. A questo punto si configurerà un'impostazione di app in Azure che l'applicazione userà per recuperare le informazioni di connessione nella cache anziché usare questo file.At that time, you will configure an app setting in Azure that the application will use to retrieve the cache connection information instead of this file. Poiché CacheSecrets.config non viene distribuito in Azure con l'applicazione, si userà solo se si esegue l'applicazione in locale.Since CacheSecrets.config is not deployed to Azure with your application, you only use it while testing the application locally. È opportuno mantenere queste informazioni nel modo più sicuro possibile per evitare accessi non autorizzati ai dati della cache.You want to keep this information as secure as possible to prevent malicious access to your cache data.

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

Nel file web.config trovare l'elemento <appSetting> e aggiungere il seguente attributo file.In the web.config file, find the <appSetting> element, and 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 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 del file, se non è possibile trovare il file specificato.The runtime ignores the file attribute if the specified file cannot be found. I segreti, ovvero la stringa di connessione per la cache, non sono inclusi come parte del codice sorgente per l'applicazione.Your secrets (the connection string to your cache) are not included as part of the source code for the application. Quando si distribuisce l'app Web in Azure, il file CacheSecrests.config non verrà distribuito.When you deploy your web app to Azure, the CacheSecrests.config file won't be deployed.

Configurare l'applicazione per l'uso di StackExchange.RedisConfigure the application to use StackExchange.Redis

Per configurare un'app per usare il pacchetto NuGet StackExchange.Redis per Visual Studio, fare clic su Strumenti > Gestione pacchetti NuGet > Console di Gestione pacchetti.To configure the app to use the StackExchange.Redis NuGet package for Visual Studio, click Tools > NuGet Package Manager > Package Manager Console.

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

Install-Package StackExchange.Redis

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 Redis Cache with the StackExchange.Redis cache 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.

Aggiornare HomeController e LayoutUpdate the HomeController and Layout

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

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;

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 executes some commands against the new cache.

    public ActionResult RedisCache()
    {
        ViewBag.Message = "A simple example with Azure Redis Cache 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();

        // Demostrate "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();
    }

In Esplora soluzioni espandere la cartella Views>Shared e aprire il file _Layout.cshtml.In Solution Explorer, expand Views>Shared folder, and open the _Layout.cshtml file.

Sostituire:Replace:

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

Con:With:

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

Aggiungere una nuova visualizzazione di RedisCacheAdd a new RedisCache view

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....

Nella finestra di dialogo Aggiungi visualizzazione immettere RedisCache per il nome della visualizzazione e fare clic su Aggiungi.In the Add View dialog, enter RedisCache for the View Name, and click Add.

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 Redis Cache 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'applicazione 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.

Nel menu di Visual Studio fare clic su Debug > Avvia debug per compilare e avviare l'app in locale per i test e il debug.In Visual Studio on the menu, click Debug > Start Debugging to build and start the app locally for testing and debugging.

Nel browser fare clic sull'opzione di test di Cache Redis di Azure sulla barra di spostamento.In the browser, click Azure Redis Cache Test on the navigation bar.

Nell'esempio seguente è possibile notare che la chiave Message in precedenza aveva un valore nella cache che era stato impostato usando la Console Redis nel portale.In the example below, you can see the Message key previously had a cached value, which was set using the 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, l'app verrà distribuita in Azure ed eseguita nel cloud.Once you have successfully tested the app locally, you will deploy the app to Azure and run it in the cloud.

Pubblicare l'app in AzurePublish the app to Azure

In Visual Studio fare clic con il pulsante destro del mouse sul nodo del progetto in Esplora soluzioni e scegliere Pubblica.In Visual Studio, right-click the project node in Solution Explorer, and choose Publish.

Pubblica

Fare clic su Servizio app di Microsoft Azure, scegliere Crea nuovo e fare clic su Pubblica.Click Microsoft Azure App Service, choose Create New, and click Publish.

Pubblica nel servizio app

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

ImpostazioneSetting Valore consigliatoRecommended Value DESCRIZIONEDescription
Nome appApp Name Usare l'impostazione predefinita.Use default Il nome dell'app sarà il nome host per l'app quando viene distribuita in Azure.The app name will be the host name for the app when deployed to Azure. Se necessario, per rendere il nome univoco è possibile aggiungere un suffisso timestamp.The name may have a timestamp suffix added to it if necessary to make it unique.
SottoscrizioneSubscription Scegliere la sottoscrizione di AzureChoose your Azure subscription Eventuali addebiti di hosting correlati verranno addebitati a questa sottoscrizione.This subscription will be charged for any related hosting charges. Se sono presenti più sottoscrizioni di Azure, verificare che sia selezionata la sottoscrizione desiderata.If you have multiple Azure subscriptions, Verify the desired subscription is selected.
Gruppo di risorseResource Group Usare lo stesso gruppo di risorse in cui è stata creata la cache,Use the same resource group where you created the cache. ad esempio TestResourceGroup.For example, TestResourceGroup. Il gruppo di risorse consente di gestire tutte le risorse come gruppo.The resource group helps you want to manage all resources as a group. In un secondo momento 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 Fare clic su Nuovo e creare un nuovo piano di servizio app denominato TestingPlan.Click New and 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 Servizio app

Dopo avere configurato le impostazioni di hosting del servizio app, fare clic su Crea per creare un nuovo servizio app per l'app.Once you have the App Service hosting settings configured, click Create to create a new App Service for your app.

Monitorare la finestra Output in Visual Studio per esaminare lo stato della pubblicazione in Azure.Monitor the Output window in Visual Studio to see the status of the publish to Azure. Al termine delle operazioni di pubblicazione, l'URL per il servizio app viene registrato come illustrato di seguito:When publishing has successfully completed, the URL for the App Service is logged as shown below:

Pubblicazione dell'output

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

Al termine della pubblicazione per il nuovo servizio app, aggiungere una nuova impostazione dell'app.Once publishing has completed for the new App Service, add a new app setting. Questa impostazione verrà usata per archiviare le informazioni di connessione della cache.This setting will be used to store the cache connection information. Digitare il nome dell'app nella barra di ricerca nella parte superiore del portale di Azure per individuare il nuovo servizio app appena creato.Type the app name in the search bar at the top of the Azure portal to find the new App Service you just created.

Ricerca del servizio app

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.

Aggiungi impostazione app

Eseguire l'app in AzureRun the app in Azure

Nel browser passare all'URL per il servizio app.In your browser, browse to the URL for the App Service. L'URL viene visualizzato nei risultati dell'operazione di pubblicazione nella finestra Output in Visual Studio.The URL is shown in the results of the publishing operation in the Output window in Visual Studio. È disponibile anche nel portale di Azure nella pagina Panoramica del Servizio app creato.It is also provided in the Azure portal on the Overview page of the App Service you created.

Fare clic sull'opzione del test di Cache Redis di Azure sulla barra di spostamento per testare l'accesso alla cache.Click Azure Redis Cache Test on the navigation bar to test cache access.

Test semplice completato in Azure

Pulire le risorseClean up resources

Se si proseguirà con l'esercitazione successiva, sarà possibile conservare le risorse create in questo avvio rapido e riutilizzarle.If you will be continuing to the next tutorial, you can keep the resources created in this quickstart and reuse them.

In caso contrario, se si è terminato il lavoro con l'applicazione di esempio di avvio rapido, è possibile eliminare le risorse di Azure create in questo avvio rapido per evitare i costi correlati.Otherwise, if you are finished with the quickstart sample application, you can delete the Azure resources created in this quickstart to avoid charges.

Importante

L'eliminazione di un gruppo di risorse è irreversibile e comporta l'eliminazione definitiva del gruppo di risorse e di tutte le risorse incluse nel gruppo.Deleting a resource group is irreversible and that the resource group and 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.

Accedere al portale di Azure e fare clic su Gruppi di risorse.Sign in to the Azure portal and click Resource groups.

Nella casella di testo Filtra per nome... immettere il nome del gruppo di risorse.In the Filter by name... textbox, 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 fare clic su ... quindi su Elimina gruppo di risorse.On your resource group in the result list, click ... then Delete resource group.

Delete

Verrà chiesto di confermare l'eliminazione del gruppo di risorse.You will be asked to confirm the deletion of the resource group. Immettere il nome del gruppo di risorse per confermare e fare clic su Elimina.Type the name of your resource group to confirm, and click 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 contained 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 this next tutorial, you will use Azure Redis Cache in a more real-world scenario to improve performance of an app. È possibile aggiornare l'applicazione per inserire i risultati del tabellone punteggi nella cache usando il modello cache-aside con ASP.NET e un database.You will update this application to cache leaderboard results using the cache-aside pattern with ASP.NET and a database.