#993 - Migliorare le performance di un'applicazione ASP.NET MVC sfruttando la Cache
Il modo più efficace per migliorare le prestazioni di un'applicazione web è sicuramente quello di predisporre un sistema di caching; in ambito Web Forms, ad esempio, è possibile attivare l'OutputCache per Page e UserControl per evitare completamente l'elaborazione della response nel caso in cui sia già stata soddisfatta una richiesta analoga.
Anche in ASP.NET MVC esiste un sistema del tutto simile, con la differenza che viene applicato all'elaborazione di una action appartenente ad un controller piuttosto che a una view. Per attivarlo è sufficiente decorare tale metodo con l'attributo OutputCache, come nell'esempio seguente:
[OutputCache(Duration=60, VaryByParam="None")] public ActionResult Index() { // leggo da database i post sul blog var recentBlogPosts = .... return View(recentBlogPosts); }
Il parametro Duration indica che, per i 60 secondi successivi alla prima richiesta, l'output della prima esecuzione di Index verrà riutilizzato per soddisfare successive richieste, senza che il metodo vero e proprio venga eseguito. Nel caso in cui la Action accetti alcuni argomenti, si può utilizzare la proprietà VaryByParam (analoga alla sua controparte per Web Forms) per mantenere diverse copie in cache in base ai valori dei parametri in ingresso:
[OutputCache(Duration=60, VaryByParams="*")] public ActionResult Index(int year, int month) { // leggo da database i post sul blog var montlyBlogPosts = .... return View(montlyBlogPosts); }
La wildcard "*", ad esempio, indica che è richiesta una distinta entry in cache per ogni combinazione di parametri year e month.
Approfondimenti
-
Disponibile la beta 1 del .NET Framework 4.0 e di Visual Studio 2010
-
Speciale ASP.NET MVC: l'alternativa alle WebForm
-
#164 - Eseguire una stored procedure tramite l'Entity Client di Entity Framework
-
Due appunti sui nostri nuovi libri su ASP.NET 4.0, Visual Basic 2010 e C# 4
-
#134 - Convertire una lista in un Dictionary utilizzando il metodo ToDictionary di LINQ
-
Speciale Windows Azure: la piattaforma di Microsoft per il cloud computing
-
#1001 - Usare jQuery per scambiare elementi tra due ListBox
-
Windows Azure in versione 1.0: annunciata la piattaforma Microsoft per il cloud computing
-
#169 - Sfruttare msbuild per differenziare il config
-
Real Code Day 4.0: costruire applicazioni reali - Firenze
-
Quando scegliere ASP.NET MVC e WebForms: differenze, pro e contro
-
Annunciato Silverlight 4 RC e Windows Phone Developer Tools

















Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.