Il caching è una metodologia che usiamo molto frequentemente per memorizzare quelle informazioni che vengono spesso consumate al fine di ridurre le interrogazioni verso gli storage persistenti che utilizziamo.
Con ASP.NET viene fornito un servizio che utilizza la memoria del server stesso per permetterci di mettere in cache i risultati delle pagine, siano esse WebForm o view di MVC. Per le prime utilizziamo la direttiva <%@ OutputCache, mentre per le seconde l'attributo omonimo con cui marcare le action. Questa funzionalità è però pluggabile ed esistono diverse alternative, soprattutto in ottica di condivisione della cache tra macchine diverse. AppFabric è una di queste, ma la più importante e la soluzione più solida è quella offerta da Azure Redis Cache. E' un servizio altamente scalabile, distribuito, supportato su più piattaforme, e completamente gestito che è diventato la soluzione ufficiale offerta da Microsoft Azure per gli scenari di cache.
Per utilizzarlo dobbiamo creare una nuova istanza del servizio secondo le necessità di memoria e di scalabilità che necessitiamo. Fatto questo ci è sufficiente prendere il nostro progetto web è installare il pacchetto NuGet.
Install-Package Microsoft.Web.RedisOutputCacheProvider
A questo punto modifichiamo il file web.config intervenendo sulla sezione caching, come mostrato nello snippet seguente.
<caching> <outputCache defaultProvider="MyRedisOutputCache"> <providers> <add name="MyRedisOutputCache" type="Microsoft.Web.Redis.RedisOutputCacheProvider" host="[account].redis.cache.windows.net" accessKey="[primary o secondary key]" port="6379" ssl="false" /> </providers> </outputCache> </caching>
Fatto questo, gli utilizzi attuali e futuri dell'output cache utilizzeranno il nuovo servizio, perciò ci viene offerta una migrazione piuttosto indolore.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Utilizzare WhenEach per processare i risultati di una lista di task
Popolare una classe a partire dal testo, con Semantic Kernel e ASP.NET Core Web API
Gestione file Javascript in Blazor con .NET 9
Configurare lo startup di applicazioni server e client con .NET Aspire
Utilizzare Hybrid Cache in .NET 9
Utilizzare i variable font nel CSS
Utilizzare DeepSeek R1 con Azure AI
Gestire eccezioni nei plugin di Semantic Kernel in ASP.NET Core Web API
Utilizzare il metodo Index di LINQ per scorrere una lista sapendo anche l'indice dell'elemento
Referenziare un @layer più alto in CSS
Montare Azure Blob Storage su Linux con BlobFuse2
Utilizzare Containers in .NET Aspire
I più letti di oggi
- Usare i settings di serializzazione/deserializzazione di System.Text.Json di ASP.NET all'interno di un'applicazione non web
- .NET Conference Italia 2025 - Milano
- The Agentic Day - Milano
- Gestione ciclo di vita in .NET Aspire
- Documentare i servizi REST con Swagger e OpenAPI con .NET 9
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!