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
Effettuare lo stream della risposta in ASP.NET Core tramite IAsyncEnumerable
Gestire errori funzionali tramite exception in ASP.NET Core Web API
Utilizzare gli snapshot con Azure File shares
Eseguire una query su SQL Azure tramite un workflow di GitHub
Gestire domini wildcard in Azure Container Apps
Come migrare da una form non tipizzata a una form tipizzata in Angular
Utilizzare Model as a Service su Microsoft Azure
Reactive form tipizzati con modellazione del FormBuilder in Angular
Hosting di componenti WebAssembly in un'applicazione Blazor static
Utilizzare i primary constructor in C#
Utilizzare le Cache API di JavaScript per salvare elementi nella cache del browser
Utilizzare ChatGPT con Azure OpenAI