Condividi tramite


Avvio rapido: usare cache di Azure per Redis con un'app Web ASP.NET Core

In avvio rapido si incorpora la cache di Azure per Redis in un'applicazione Web ASP.NET Core che si connette alla cache di Azure per Redis per archiviare e recuperare i dati dalla cache.

Inoltre in .NET Core esistono anche provider di memorizzazione nella cache. Per iniziare a usare rapidamente Redis con modifiche minime al codice esistente, vedere:

Passare al codice in GitHub

Clonare il repository https://github.com/Azure-Samples/azure-cache-redis-samples/tree/main/quickstart/aspnet-core in GitHub.

Come passaggio successivo, è possibile visualizzare un'applicazione eShop di scenario reale che illustra i provider di memorizzazione nella cache ASP.NET Core: ASP.NET Core eShop tramite provider di memorizzazione nella cache Redis.

Funzionalità incluse:

  • Memorizzazione nella cache distribuita Redis
  • Provider di stato della sessione Redis

Le istruzioni per la distribuzione sono disponibili nel README.md.

Prerequisiti

Creare una cache

  1. Per creare una cache, accedere al portale di Azure e selezionare Crea una risorsa.

    L'opzione Crea una risorsa evidenziata nel riquadro di spostamento sinistro.

  2. Nella pagina Informazioni di base digitare cache di Azure per Redis nella casella di ricerca. Quindi, selezionare Crea.

    Screenshot di Azure Marketplace con cache di Azure per Redis nella casella di ricerca e l'opzione Crea è evidenziata con una casella rossa.

  3. Nella pagina Nuova Cache Redis configurare le impostazioni per la nuova cache.

    Impostazione Scegliere un valore Descrizione
    Abbonamento Nell'elenco a discesa selezionare la sottoscrizione. Sottoscrizione in cui creare la nuova istanza della cache di Azure per Redis.
    Gruppo di risorse Nell'elenco a discesa selezionare un gruppo di risorse oppure scegliere Crea nuovo e immettere il nome di un nuovo gruppo di risorse. Nome del gruppo di risorse in cui creare la cache e altre risorse. L'inserimento di tutte le risorse di un'app in un unico gruppo di risorse ne semplifica la gestione o l'eliminazione.
    Nome DNS Immettere un nome univoco. Il nome della cache deve essere una stringa compresa tra 1 e 63 caratteri contenente solo numeri, lettere o trattini. Il nome deve iniziare e terminare con un numero o una lettera e non può contenere trattini consecutivi. Il nome host dell'istanza della cache è <nome DNS>.redis.cache.windows.net.
    Location Nell'elenco a discesa selezionare una località. Selezionare un'area in prossimità di altri servizi che useranno la cache.
    SKU della cache Nell’elenco a discesa selezionare uno SKU. Lo SKU determina le dimensioni, le prestazioni e i parametri delle funzionalità disponibili per la cache. Per altre informazioni, vedere la panoramica su Cache Redis di Azure.
    Dimensioni della cache Nell’elenco a discesa selezionare una dimensione per la cache Per altre informazioni, vedere la panoramica su Cache Redis di Azure.
  4. Selezionare la scheda Rete o selezionare il pulsante Rete nella parte inferiore della pagina.

  5. Nella scheda Rete selezionare il metodo di connettività.

  6. Selezionare la scheda Avanti: Avanzate oppure selezionare il pulsante Avanti: Avanzate nella parte inferiore della pagina per visualizzare la scheda Avanzate.

    Screenshot che mostra la scheda Avanzate nel riquadro di lavoro e l'opzione disponibile da selezionare.

    • Per le cache Basic o Standard, attivare o disattivare la selezione per una porta non TLS. È anche possibile selezionare se si vuole abilitare l'autenticazione di Microsoft Entra.
    • Per una cache Premium, configurare le impostazioni per la porta non TLS, il clustering, l'identità gestita e la persistenza dei dati. È anche possibile selezionare se si vuole abilitare l'autenticazione di Microsoft Entra.

    Importante

    Per una protezione ottimale, Microsoft consiglia di usare Microsoft Entra ID con identità gestite per autorizzare le richieste nella cache ogni volta che è possibile. L'autorizzazione con Microsoft Entra ID e le identità gestite offre sicurezza e facilità di utilizzo superiori rispetto all'autorizzazione con chiave condivisa. Per altre informazioni sull'uso delle identità gestite con le cache, vedere Usare Microsoft Entra ID per l'autenticazione della cache.

  7. Selezionare la scheda Avanti: Tag oppure selezionare il pulsante Avanti: Tag nella parte inferiore della pagina.

  8. Facoltativamente, nella scheda Tag immettere il nome e il valore se si vuole categorizzare la risorsa.

  9. Selezionare Rivedi e crea. Viene visualizzata la scheda Rivedi e crea in cui Azure convalida la configurazione.

  10. Quando viene visualizzato il messaggio di convalida verde, selezionare Crea.

La creazione di una cache richiede un po' di tempo. È possibile monitorare lo stato di avanzamento nella pagina Panoramica della cache di Azure per Redis. Quando l'elemento Stato indica In esecuzione, la cache è pronta per l'uso.

Recuperare il nome host, le porte e le chiavi di accesso dal portale di Azure

Per connettere il server Cache Redis di Azure, il client della cache deve avere il nome host, le porte e una chiave per la cache. Alcuni client possono fare riferimento a questi elementi usando nomi leggermente diversi. È possibile ottenere il nome host, le porte e le chiavi dal portale di Azure.

  • Per ottenere le chiavi di accesso, selezionare Autenticazione dal menu Risorsa. Quindi, selezionare la scheda Chiavi di accesso.

    Chiavi Cache Redis di Azure

  • Per ottenere il nome host e le porte per la cache, selezionare Informazioni generali dal menu Risorsa. Il formato del nome host è <Nome DNS>.redis.cache.windows.net.

    Domande frequenti su Cache Redis di Azure

Prendere nota del nome host e della chiave di accesso primaria. Questi valori saranno usati in un secondo momento per costruire il segreto CacheConnection.

Aggiungere un segreto locale per la stringa di connessione

Nella finestra di comando eseguire il comando seguente per archiviare un nuovo segreto denominato CacheConnection, dopo aver sostituito i segnaposto, incluse le parentesi angolari, per il nome della cache e la chiave di accesso primaria:

dotnet user-secrets set CacheConnection "<cache name>.redis.cache.windows.net,abortConnect=false,ssl=true,allowAdmin=true,password=<primary-access-key>"

Connettersi alla cache con RedisConnection

La classe RedisConnection gestisce la connessione alla cache. La connessione viene effettuata in questa istruzione in HomeController.cs nella cartella Controller:

_redisConnection = await _redisConnectionFactory;

In RedisConnection.cs si visualizza che lo spazio dei nomi StackExchange.Redis viene aggiunto al codice. Questa operazione è necessaria per la classe RedisConnection.

using StackExchange.Redis;

Il codice RedisConnection garantisce che sia sempre presente una connessione integra alla cache, gestendo l'istanza ConnectionMultiplexer da StackExchange.Redis. La classe RedisConnection ricrea la connessione quando una connessione viene persa e non è possibile riconnettersi automaticamente.

Per altre informazioni, vedere StackExchange.Redis e il codice in un repository GitHub.

Viste del layout nell'esempio

Il layout della home page per questo campione viene archiviato nel file _Layout.cshtml. Da questa pagina si avvia il test effettivo della cache facendo clic sul Test di Cache Redis in questa pagina.

  1. Aprire Views\Shared\_Layout.cshtml.

  2. In <div class="navbar-header"> si dovrebbe visualizzare:

    <a class="navbar-brand" asp-area="" asp-controller="Home" asp-action="RedisCache">Azure Cache for Redis Test</a>
    

Screenshot della pagina iniziale

Visualizzazione dei dati dalla cache

Nella home page selezionare Test di Cache Redis per visualizzare l'output campione.

  1. In Esplora soluzioni espandere la cartella Views e fare clic con il pulsante destro del mouse sula cartella Home.

  2. Questo codice verrà visualizzato nel file 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>
    

Eseguire l'app in locale

  1. Eseguire il comando seguente nella finestra di comando per compilare l'app:

    dotnet build
    
  2. Eseguire quindi l'app con il comando seguente:

    dotnet run
    
  3. Nel Web browser passare a https://localhost:5001.

  4. Nella barra di spostamento della pagina Web selezionare Test di Cache Redis, per testare l'accesso alla cache.

Screenshot del semplice test completato localmente

Pulire le risorse

Per continuare a usare le risorse create in questo articolo, mantenere il gruppo di risorse.

In caso contrario, se le risorse sono state completate, per evitare addebiti è possibile eliminare il gruppo di risorse di Azure creato.

Importante

L'eliminazione di un gruppo di risorse è irreversibile. Quando si elimina un gruppo di risorse, tutte le risorse in esso contenute vengono eliminate in modo permanente. Assicurarsi di non eliminare accidentalmente il gruppo di risorse sbagliato o le risorse errate. Se le risorse sono state create all'interno di un gruppo di risorse esistente che contiene anche elementi da mantenere, è possibile eliminare ogni singolo elemento a sinistra anziché eliminare il gruppo di risorse.

Per eliminare un gruppo di risorse

  1. Accedere al portale di Azure e selezionare Gruppi di risorse.

  2. Scegliere il gruppo di risorse da eliminare.

    Se sono presenti molti gruppi di risorse, usare la casella Filtro per qualsiasi campo... e digitare il nome del gruppo di risorse creato per questo articolo. Nell’elenco dei risultati selezionare il gruppo di risorse.

    Screenshot che mostra nel riquadro di lavoro un elenco dei gruppi di risorse da eliminare.

  3. Selezionare Elimina gruppo di risorse.

  4. Verrà chiesto di confermare l'eliminazione del gruppo di risorse. Digitare il nome del gruppo di risorse per confermare e quindi selezionare Elimina.

    Screenshot che mostra un modulo richiedente il nome della risorsa per confermare l'eliminazione.

Dopo qualche istante, il gruppo di risorse e tutte le risorse che contiene vengono eliminati.