Usare al meglio l'oggetto Cache di ASP.NET

di Daniele Bochicchio, in ASP.NET, Cache, C#,

L'utilizzo delle classe Cache permette di evitare continue richieste al database (o a qualsiasi altra fonte, come un file XML), salvando qualsiasi oggetti in memoria, per un accesso rapido.
In genere si aggiunge un oggetto in Cache, definendo un delegate in modo che venga ripopolata l'oggetto attraverso un RemovedCallback, ovvero quando lo stesso viene rimosso dalla memoria.
Un approccio migliore consiste nel definire una funzione che agisca come in questo esempio, che sia cioè in grado di aggiungere l'oggetto in memoria alla prima richiesta, o comunque solo quando necessario.
In questo modo si può evitare di tenere in memoria un oggetto che in quel momento nessuno sta usando, contando sulla possibilità di impostare un tempo di permanenza (nell'esempio 3 ore).

using System;
using System.Web;
using System.Data;
using System.Data.SqlClient;

namespace ASPItalia.com
{

  public class DataStore
  {
    // funzione per recuperare un DataTable
    public static DataTable GetArticles()
    {
      if (HttpContext.Current.Cache["Article"] == null) {
        DataTable dt = GetDt(); // restituisce la DataTable
        HttpContext.Current.Cache.Insert("Article", dt, null, DateTime.Now.AddHours(3), TimeSpan.Zero);
      }
      return (DataTable)HttpContext.Current.Cache["Article"];
    }
  }
}

Approfondimenti


L'oggetto Cache di ASP.NET
https://www.aspitalia.com/articoli/aspplus/cache.aspx

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

I più letti di oggi