Continua l'analisi della classe Cache di ASP.NET, questa volta con un esempio relativo alla File Dependency.
E' possibile infatti definire una chiave con dati all'interno che dipenda dalla modifica di un file per invalidarne il contenuto.
Questo approccio è particolarmente utile quando vogliamo caricare un file XML in un DataTable, ma allo stesso tempo vogliamo che il contenuto sia sempre aggiornato.
In particolare, attraverso la classe FileSystemWatcher, ASP.NET è in grado di intercettare le notifiche che il sistema operativo invia quando un file viene modificato e di conseguenza invalidare il contenuto della chiave che definisce l'oggetto in Cache.
using System;
using System.Web;
using System.Data;
namespace ASPItalia.com
{
public class DataStore
{
// funzione per recuperare un DataTable caricato da un file Xml
public static DataTable GetXmlDoc()
{
if (HttpContext.Current.Cache["Xml"] == null) {
string Path = HttpContext.Current.Server.MapPath("/store/doc.xml");
// leggo il file XML attraverso il DataSet
DataSet ds = new DataSet();
ds.ReadXml(Path);
// restituisce la DataTable
DataTable dt = ds.Tables["item"];
// inserimento nella Cache con dipendenza
HttpContext.Current.Cache.Insert("Xml", dt, new CacheDependency(Path) );
}
return (DataTable)HttpContext.Current.Cache["Xml"];
}
}
}Per approfondimenti si veda:
#349 - Estrarre il contenuto di un file XML con ASP.NET
http://www.aspitalia.com/liste/usag/script.aspx?ID=349
Esempi di utilizzo della classe Cache con ASP.NET
http://www.aspitalia.com/ricerca/super.aspx?usag=1&articoli=1&key=ASP.NET+cache
Esprimi il tuo giudizio su questo script:
Per procedere devi essere autenticato.
Aggiungi un nuovo commento »»»
Per inserire un commento, devi registrarti alla nostra community.









Stampa
Snippet
Download 



