Questo articolo è tratto dal libro ASP.NET 4.5 e ASP.NET MVC 4 in C# e VB - Guida completa per lo sviluppatore di Daniele Bochicchio, Cristian Civera, Marco De Sanctis e Stefano Mostarda.
Ciò che accresce più di ogni altra cosa le performance di un'applicazione è l'utilizzo della cache. I migliori database in commercio hanno delle aree di memoria dove salvare il risultato delle query, così da avere i dati già a disposizione (senza doverli recuperare dal disco) non appena queste sono eseguite una seconda volta. Per fare un altro esempio, Windows mette in memoria le immagini delle applicazioni una volta caricate, così da poterle lanciare più velocemente. In ambienti multi-utente, come le applicazioni web, la cache assume ancora più valore, in quanto la necessità di servire le richieste più velocemente e con minor spreco di risorse è molto sentita. Inoltre, grazie a una sempre più forte integrazione tra ASP.NET e IIS, il caching è stato spinto a un livello talmente avanzato, che non usarlo è diventato impensabile. All'interno di questo capitolo affronteremo tutte le funzionalità che la cache mette a nostra disposizione trattando sia le API di ASP.NET Web Forms sia quelle di ASP.NET MVC.
Tipologie di caching
I dati che sono salvati nella cache possono essere di ogni tipo: dall'HTML di una pagina, ai dati di una query, dal risultato di un'elaborazione, a una variabile che si vuole tenere in memoria per tutta l'applicazione. Tuttavia, a seconda di cosa vogliamo memorizzare abbiamo due tipologie di caching:
- output caching;
- data caching.
Sulle basi di queste è stata costruita un'altra tecnica per risolvere particolari esigenze:
- fragment caching.
L'output caching ha lo scopo di memorizzare il codice HTML renderizzato da una pagina di ASP.NET Web Forms o da una view di ASP.NET MVC. Il fragment caching è simile all'output caching ma si differenzia perché entra in azione con gli user control di ASP.NET Web Forms o le partial view di ASP.NET MVC memorizzando quindi solo frammenti di HTML e non un'intera pagina. Una volta memorizzato il codice HTML alla prima richiesta della pagina, alle successive richieste ASP.NET serve direttamente il codice memorizzato senza riprocessare tutta la richiesta ottimizzando così le prestazioni.
Il data caching è la forma di cache che ci permette di salvare qualsiasi tipo di dato in memoria e di utilizzarlo o eliminarlo a seconda delle nostre esigenze. Analizzeremo in dettaglio ognuna di queste tecniche all'interno di questo capitolo cominciando dall'output caching e dal fragment caching con ASP.NET Web Forms.
Output caching con ASP.NET Web Forms
L'output caching è la tecnica con la quale ASP.NET Web Forms salva il codice HTML generato da una pagina. Questa caratteristica è quella che impatta maggiormente sulle prestazioni, poiché il risultato di una richiesta viene creato processando la richiesta solo la prima volta e memorizzandone il risultato prima di inviarlo al client. Alle successive richieste della stessa pagina, il server tornerà la versione memorizzata senza riprocessare tutta la pagina ottenendo così un notevole risparmio di risorse.
[...]
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Generare HTML a runtime a partire da un componente Razor in ASP.NET Core
Personalizzare l'errore del rate limiting middleware in ASP.NET Core
Triggerare una pipeline su un altro repository di Azure DevOps
Gestire liste di tipi semplici con Entity Framework Core
Miglioramenti nell'accessibilità con Angular CDK
Proteggere le risorse Azure con private link e private endpoints
Usare una container image come runner di GitHub Actions
Usare i servizi di Azure OpenAI e ChatGPT in ASP.NET Core con Semantic Kernel
Utilizzare Model as a Service su Microsoft Azure
Utilizzare il nuovo modello GPT-4o con Azure OpenAI
Garantire la provenienza e l'integrità degli artefatti prodotti su GitHub
Gestire domini wildcard in Azure Container Apps