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:
- Provider di cache di output ASP.NET Core
- Provider di memorizzazione nella cache distribuita ASP.NET Core
- Provider di sessioni Redis ASP.NET Core
Passare al codice in GitHub
Clonare il https://github.com/Azure-Samples/azure-cache-redis-samples repository GitHub e passare alla quickstart/aspnet-core
directory per visualizzare il codice sorgente completato per i passaggi successivi.
La quickstart/aspnet-core
directory è configurata anche come modello dell'interfaccia della riga di comando per sviluppatori di Azure (azd
). Usare lo strumento open source azd
per semplificare il provisioning e la distribuzione da un ambiente locale ad Azure. Facoltativamente, eseguire il comando azd up
per effettuare automaticamente il provisioning di un'istanza di Cache Redis di Azure e configurare l'app di esempio locale per la connessione:
azd up
Esplorare l'esempio di eShop
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
- Sottoscrizione di Azure: creare un account gratuito
- ASP.NET Core SDK
Creare una cache
Per creare una cache, accedere al portale di Azure. Nel menu del portale selezionare Crea una risorsa.
Nel riquadro Attività iniziali immettere Cache di Azure per Redis nella barra di ricerca. Nei risultati della ricerca trovare Cache di Azure per Redis e quindi selezionare Crea.
Nel riquadro Nuova cache Redis, nella scheda Informazioni di base configurare le impostazioni seguenti per la cache:
Impostazione Azione Descrizione Abbonamento Seleziona la tua sottoscrizione di Azure. Sottoscrizione da usare per creare la nuova istanza della cache di Azure per Redis. Gruppo di risorse Selezionare un gruppo di risorse oppure selezionare Crea nuovo e immettere un nuovo nome del 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 è \<DNS name>.redis.cache.windows.net
.Location Selezionare una località. Un'area di Azure vicina ad altri servizi che usano la cache. SKU della cache 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 Selezionare le dimensioni della cache. Per altre informazioni, vedere la panoramica su Cache Redis di Azure. Selezionare la scheda Rete oppure selezionare Avanti: Rete.
Nella scheda Rete selezionare un metodo di connettività da usare per la cache.
Selezionare la scheda Avanzate o Avanti: Avanzate.
Nella scheda Avanzate selezionare la casella di controllo Microsoft Entra Authentication per abilitare l'autenticazione di Microsoft Entra.
Importante
Per una protezione ottimale, è consigliabile usare Microsoft Entra ID con identità gestite per autorizzare le richieste nella cache ogni volta che è possibile. L'autorizzazione tramite Microsoft Entra ID e le identità gestite offre sicurezza e facilità d'uso superiori rispetto all'autorizzazione con chiave di accesso condiviso. Per altre informazioni sull'uso delle identità gestite con le cache, vedere Usare Microsoft Entra ID per l'autenticazione della cache.
(Facoltativo) Selezionare la scheda Tag o selezionare Avanti: Tag.
(Facoltativo) Nella scheda Tag immettere un nome e un valore di tag per classificare la risorsa della cache.
Selezionare il pulsante Rivedi e crea.
Nella scheda Rivedi e crea Azure convalida automaticamente la configurazione.
Quando viene visualizzato il messaggio verde di Convalida superata, selezionare Crea.
Una nuova distribuzione della cache richiede diversi minuti. È possibile monitorare lo stato di avanzamento della distribuzione nel riquadro Panoramica di Cache di Azure per Redis. Quando Stato mostra In esecuzione, la cache è pronta per l'uso.
Abilitare l'autenticazione di Microsoft Entra ID nella cache
Se si dispone di una cache, verificare se è stata abilitata l'autenticazione di Microsoft Entra. In caso contrario, abilitarla. È consigliabile usare Microsoft Entra ID per le app.
Nel portale di Azure selezionare l'istanza della cache di Azure per Redis in cui si vuole usare l'autenticazione basata su token di Microsoft Entra.
Selezionare Autenticazione dal menu Risorsa.
Controllare nel riquadro di lavoro per verificare se è selezionata l'opzione Abilita autenticazione Microsoft Entra. In tal caso, è possibile procedere.
Selezionare Abilita autenticazione di Microsoft Entra e immettere il nome di un utente valido. All'utente immesso viene assegnato automaticamente il criterio di accesso Proprietario dei dati per impostazione predefinita quando si seleziona Salva. È anche possibile immettere un'identità gestita o un'entità servizio per connettersi all'istanza della cache.
Viene visualizzata una finestra di dialogo popup in cui viene chiesto se si vuole aggiornare la configurazione e viene segnalato che l'operazione richiede qualche minuto. Selezionare Sì.
Importante
Al termine dell'operazione di abilitazione, i nodi nell'istanza della cache vengono riavviati per caricare la nuova configurazione. È consigliabile eseguire questa operazione durante la finestra di manutenzione o al di fuori dell'orario di ufficio di punta. L'operazione può richiedere fino a 30 minuti.
Per informazioni sull'uso di Microsoft Entra ID con l'interfaccia della riga di comando di Azure, vedere le pagine di riferimento per l'identità.
Aggiungere i criteri di accesso di Redis
È necessario assegnare un criterio di accesso ai dati all'identità a cui accede cache di Azure per Redis. Per questo esempio, si assegnano criteri di accesso ai dati allo stesso account MICROSOFT Entra ID usato per accedere all'interfaccia della riga di comando di Azure o a Visual Studio.
Selezionare il menu Impostazioni Risorsa nella cache e selezionare Configurazione accesso ai dati.
Nella pagina Configurazione accesso ai dati selezionare Aggiungi > nuovo utente Redis nella barra di spostamento superiore.
Nella pagina Nuovo utente Redis selezionare il criterio Collaboratore dati e selezionare Avanti: Utenti Redis.
Scegliere + Seleziona membro per aprire il menu a comparsa. Cercare l'account utente e selezionarlo nei risultati.
Selezionare Rivedi e assegna per assegnare il criterio all'utente selezionato.
Aggiungere un segreto locale per il nome host
Nella finestra di comando eseguire il comando seguente per archiviare un nuovo segreto denominato RedisHostName, dopo aver sostituito i segnaposto, incluse le parentesi angolari, per il nome della cache e la chiave di accesso primaria:
dotnet user-secrets set RedisHostName "<cache-name>.redis.cache.windows.net"
Per usare l'istanza di Redis gestita di Azure (anteprima), archiviare un nuovo segreto denominato RedisHostName come indicato di seguito:
dotnet user-secrets set RedisHostName "<cache-name>.<region>.redis.azure.net"
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;
La RedisConnection.cs
classe include gli StackExchange.Redis
spazi dei nomi e Azure.Identity
nella parte superiore del file per includere i tipi essenziali per la connessione a cache di Azure per Redis.
using StackExchange.Redis;
using Azure.Identity;
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.
Visualizzazioni layout nell'esempio
Il layout della home page per questo esempio 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.
Aprire Views\Shared\_Layout.cshtml.
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>
Visualizzazione dei dati dalla cache
Nella home page selezionare test della cache di Azure per Redis per visualizzare l'output di esempio.
In Esplora soluzioni espandere la cartella Views e fare clic con il pulsante destro del mouse sula cartella Home.
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
Eseguire il comando seguente nella finestra di comando per compilare l'app:
dotnet build
Eseguire quindi l'app con il comando seguente:
dotnet run
Nel Web browser passare a
https://localhost:5001
.Nella barra di spostamento della pagina Web selezionare Test di Cache Redis, per testare l'accesso alla cache.
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
Accedere al portale di Azure e selezionare Gruppi di risorse.
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.
Selezionare Elimina gruppo di risorse.
Verrà chiesto di confermare l'eliminazione del gruppo di risorse. Digitare il nome del gruppo di risorse per confermare e quindi selezionare Elimina.
Dopo qualche istante, il gruppo di risorse e tutte le risorse che contiene vengono eliminati.