Windows Azure è una grande piattaforma in continua evoluzione che si aggiunge in continuazione di nuovi strumenti. Tra questi, di recente si è aggiunta la possibilità di usare il servizio di cache distribuita, cioè la possibilità di sfruttare la RAM, di macchine autonomamente gestite dalla piattaforma, per memorizzare oggetti utili alle nostre applicazioni. La cache viene quindi sfruttata per inserire risultati di interrogazioni sui database, piuttosto che porzioni di HTML da restituire direttamente all'utente, scavalcando così tutto il normale processamento di una richiesta, con evidenti vantaggi prestazionali.
Il servizio di cache distribuito di Windows Azure ha il vantaggio che può essere utilizzato sia in ambienti on premise che sul cloud, come su Windows Azure stesso. Inoltre la cache può essere consumata e popolata contemporaneamente da più macchine, il tutto sgravandoci dalla gestione del servizio di cache stesso. Quello che dobbiamo fare è semplicemente creare dal portale un nuovo endpoint di cache, dimensionandolo.

A questo punto l'endpoint è pronto e per sfruttarlo dall'ambiente .NET possiamo utilizzare il pacchetto NuGet disponibile per Visual Studio. Installando Microsoft.WindowsAzure.Caching otteniamo referenziate le DLL e, se il progetto è di tipo ASP.NET, ci troviamo il web.config già predisposto per utilizzare la cache.

In particolare troviamo la sezione dataCacheClients che va completata negli attributi identifier (con il nome completo dell'endpoint creato) e authorizationInfo (con il token che troviamo nel riepilogo sul portale).
<dataCacheClients> <dataCacheClient name="default" requestTimeout="5"> <autoDiscover isEnabled="true" identifier="aspitalia.cache.windows.net" /> <securityProperties mode="Message" sslEnabled="false"> <messageSecurity authorizationInfo="token" /> </securityProperties> </dataCacheClient> </dataCacheClients>
A questo punto all'interno del progetto possiamo usare l'oggetto DataCache del namespace Microsoft.ApplicationServer.Caching, il cui uso è del tutto simile all'oggetto Cache di ASP.NET. Possiamo inoltre far sì che tutta la cache di ASP.NET, quella basata su OutputCache, o che la Session, venga depositata sul servizio di cache distribuito. Anche in questo caso troviamo il web.config già predisposto. Ci è sufficiente scommentare gli elementi sotto system.web/sessionState e system.web/caching.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Filtrare i dati di una QuickGrid in Blazor con una drop down list
Filtering sulle colonne in una QuickGrid di Blazor
Simulare Azure Cosmos DB in locale con Docker
Paginare i risultati con QuickGrid in Blazor
Utilizzare il metodo Index di LINQ per scorrere una lista sapendo anche l'indice dell'elemento
Eseguire operazioni sui blob con Azure Storage Actions
Sfruttare al massimo i topic space di Event Grid MQTT
Gestire i dati con Azure Cosmos DB Data Explorer
Eseguire query per recuperare il padre di un record che sfrutta il tipo HierarchyID in Entity Framework
Implementare l'infinite scroll con QuickGrid in Blazor Server
Esporre i propri servizi applicativi con Semantic Kernel e ASP.NET Web API
Utilizzare Container Queries nominali