I meccanismi di caching di ASP.NET


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.

Acquista subito la tua copia ad un prezzo vantaggioso!

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.

[...]

5 pagine in totale: 1 2 3 4 5
Contenuti dell'articolo

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti