Condividi tramite


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

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. Si distribuisce quindi l'app nel Servizio app di Azure.

Passare al codice in GitHub

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

Prerequisiti

Creare una cache

A questo punto creare la cache per l'app.

  1. Per creare una cache, accedere al portale di Azure. Nel menu del portale selezionare Crea una risorsa.

    Screenshot che mostra l'opzione Crea una risorsa evidenziata nel riquadro di spostamento a sinistra nel portale di Azure.

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

    Screenshot che mostra Azure Marketplace con Cache di Azure per Redis nella casella di ricerca e il pulsante Crea evidenziato.

  3. 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.
  4. Selezionare la scheda Rete oppure selezionare Avanti: Rete.

  5. Nella scheda Rete selezionare un metodo di connettività da usare per la cache.

  6. Selezionare la scheda Avanzate o Avanti: Avanzate.

  7. Nel riquadro Avanzate verificare o selezionare un metodo di autenticazione in base alle informazioni seguenti:

    Screenshot che mostra il riquadro Avanzate e le opzioni disponibili per la selezione.

    • Per impostazione predefinita, per una nuova cache Basic, Standard o Premium, l'Autenticazione di Microsoft Entra è abilitata e l'Autenticazione delle chiavi di accesso è disabilitata.
    • Per le cache Basic o Standard, è possibile scegliere la selezione di una porta non TLS.
    • Per le cache Standard e Premium, è possibile scegliere di abilitare le zone di disponibilità. Non è possibile disabilitare le zone di disponibilità dopo la creazione della cache.
    • Per una cache Premium, configurare le impostazioni per la porta non TLS, il clustering, l'identità gestita e la persistenza dei dati.

    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.

  8. (Facoltativo) Selezionare la scheda Tag o selezionare Avanti: Tag.

  9. (Facoltativo) Nella scheda Tag immettere un nome e un valore di tag per classificare la risorsa della cache.

  10. Selezionare il pulsante Rivedi e crea.

    Nella scheda Rivedi e crea Azure convalida automaticamente la configurazione.

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

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

  2. Selezionare Autenticazione dal menu Risorsa.

  3. Controllare nel riquadro di lavoro per verificare se è selezionata l'opzione Abilita autenticazione Microsoft Entra. In tal caso, è possibile procedere.

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

    Screenshot che mostra l'opzione di autenticazione selezionata nel menu della risorsa e l'opzione con cui abilitare l'autenticazione di Microsoft Entra selezionata.

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

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

Per modificare il file CacheSecrets.config

  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. Per questa guida introduttiva, il file CacheSecrets.config si trova in C:\AppSecrets\CacheSecrets.config.

  2. Modificare il file Web.config . Aggiungere quindi il contenuto seguente:

    <appSettings>
        <add key="RedisHostName" value="<cache-hostname>:<port-number>"/>
    </appSettings>
    
  3. Sostituire <cache-hostname> con il nome host della cache visualizzato nel pannello Panoramica del portale di Azure

  4. Sostituire <port-number> con il numero di porta host della cache.

  5. Salvare il file.

Aggiornare l'applicazione MVC

In questa sezione è possibile visualizzare un'applicazione MVC che presenta una visualizzazione con un semplice test sulla cache di Azure per Redis. L'applicazione MVC può connettersi all'istanza di Redis gestita di Azure (anteprima) quando la configurazione "RedisHostName" punta all'istanza di Redis gestita di Azure.

Installare StackExchange.Redis

La soluzione richiede l'esecuzione del pacchetto StackExchange.Redis. Installarlo con questa procedura:

  1. Per configurare l'app per usare il pacchetto NuGet StackExchange.Redis per Visual Studio, selezionare Strumenti > Gestione pacchetti NuGet > Console di Gestione pacchetti.

  2. Eseguire questo comando nella finestra Package Manager Console:

    Install-Package Microsoft.Azure.StackExchangeRedis
    
  3. Il pacchetto NuGet scarica e aggiunge i riferimenti ad assembly richiesti per consentire all'applicazione client di accedere alla cache di Azure per Redis con il client Microsoft.Azure.StackExchangeRedis.

Connettersi alla cache con RedisConnection

La connessione alla cache viene gestita dalla classe RedisConnection. La connessione viene eseguita per la prima volta in questa istruzione da ContosoTeamStats/Controllers/HomeController.cs:

private static Task<RedisConnection> _redisConnectionFactory = RedisConnection.InitializeAsync(redisHostName: ConfigurationManager.AppSettings["RedisHostName"].ToString());

In RedisConnection.cs si può vedere che lo spazio dei nomi StackExchange.Redis è stato 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.

La riga di codice seguente usa Microsoft Entra ID per connettersi a cache di Azure per Redis o Azure Managed Redis (anteprima) senza password.

var configurationOptions = await ConfigurationOptions.Parse($"{_redisHostName}").ConfigureForAzureWithTokenCredentialAsync(new DefaultAzureCredential());

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 della cache di Azure per Redis da questa pagina.

  1. In Esplora soluzioni espandere la cartella Views>Shared. Aprire quindi il file _Layout.cshtml.

  2. Saranno visualizzate le informazioni illustrate nell'immagine seguente in <div class="navbar-header">.

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

    Screenshot della pagina iniziale.

Visualizzazione dei dati dalla cache

Nella home page selezionare test della cache di Azure per Redis per visualizzare l'output di esempio.

  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

Per impostazione predefinita, il progetto è configurato per ospitare l'app in locale in IIS Express per i test e il debug.

Per eseguire l'app in locale

  1. In Visual Studio, selezionare Debug>Avvia debug per compilare e avviare l'app in locale per i test e il debug.

  2. Nel browser selezionare Azure Cache for Redis Test (Test di Cache Redis di Azure) sulla barra di spostamento.

  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. L'app ha aggiornato questo valore memorizzato nella cache. L'app ha anche eseguito i comandi PING e CLIENT LIST.

    Screenshot del semplice test completato in locale.

Pubblicare ed eseguire l'app in Azure

Dopo avere testato correttamente l'app in locale, è possibile distribuirla in Azure ed eseguirla nel cloud.

Per pubblicare l'app in Azure

  1. In Visual Studio fare clic con il pulsante destro del mouse sul nodo di progetto in Esplora soluzioni. Scegliere quindi Pubblica.

    Screenshot che mostra il pulsante Pubblica.

  2. Selezionare Servizio app di Microsoft Azure, quindi Crea nuovo e infine Pubblica.

    Screenshot che mostra come eseguire la pubblicazione in servizio app.

  3. Nella finestra di dialogo Crea servizio app apportare le modifiche seguenti:

    Impostazione Valore consigliato Descrizione
    Nome app Usare quello predefinito. Il nome dell'app è il nome host per l'app quando viene distribuita in Azure. Se necessario, per rendere il nome univoco è possibile aggiungere un suffisso timestamp.
    Abbonamento Scegliere la sottoscrizione di Azure. Eventuali costi di hosting correlati vengono addebitati in questa sottoscrizione. Se si hanno più sottoscrizioni di Azure, verificare che sia selezionata la sottoscrizione desiderata.
    Gruppo di risorse Usare lo stesso gruppo di risorse in cui è stata creata la cache, ad esempio TestResourceGroup. Il gruppo di risorse consente di gestire tutte le risorse come gruppo. Successivamente, quando si vuole eliminare l'app, è sufficiente eliminare il gruppo.
    Piano di servizio app Selezionare Nuovo e quindi creare un nuovo piano di servizio app denominato TestingPlan.
    Usare lo stesso percorso usato durante la creazione della cache.
    Scegliere il livello Gratuito per le dimensioni.
    Un piano di servizio app definisce un set di risorse di calcolo per l'esecuzione di un'app Web.

    Screenshot che mostra la finestra di dialogo servizio app.

  4. Dopo aver configurato le impostazioni di hosting del servizio app, selezionare Crea.

  5. Monitorare la finestra Output in Visual Studio per esaminare lo stato della pubblicazione. Dopo che l'app è stata pubblicata, viene registrato il relativo URL:

    Screenshot della pubblicazione delle informazioni nel riquadro di output.

Aggiungere l'impostazione dell'app per la cache

Dopo che la nuova app è stata pubblicata, aggiungere una nuova impostazione dell'app. Questa impostazione viene usata per archiviare le informazioni di connessione alla cache.

Per aggiungere l'impostazione dell'app

  1. Digitare il nome dell'app nella barra di ricerca nella parte superiore del portale di Azure per trovare l'app appena creata.

    Screenshot che mostra come trovare l'app nel portale di Azure.

  2. Aggiungere una nuova impostazione dell'app denominata CacheConnection per l'app da usare per connettersi alla cache. Usare lo stesso valore configurato per RedisHostName nel file web.config .

    Screenshot che mostra come aggiungere l'impostazione dell'app.

Eseguire l'app in Azure

  1. Nel browser passare all'URL per l'app. L'URL viene visualizzato nei risultati dell'operazione di pubblicazione nella finestra dell'output di Visual Studio. È disponibile anche nel portale di Azure nella pagina di panoramica dell'app creata.

  2. Selezionare Test della cache di Azure per Redis sulla barra di spostamento per testare l'accesso alla cache come è stato fatto con la versione locale.

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.

Passaggi successivi