C# – Mettere in cache dei file Xml

Un buon mezzo per evitare richieste al nostro database, è quello di mettere in cache alcune parti del nostro sito. Un esempio può essere una formattazione del testo e dei colori del sito a piacere dell’utente.

In questo caso sarebbe comodo creare un file Xml e metterlo in cache. Quest’ultima poi verrà settata in modo da dipendere dallo stesso file Xml per cui, ogni modifica sul file, farà scadere la cache e quindi il file Xml dovrà essere ricaricato.

Questo breve codice mostra un esempio di utilizzo della Cache:

<%@ Page Language=”C#” %>

<%@ import Namespace=”System.Data” %>

<%@ import Namespace=”System.IO” %>

<%@ import Namespace=”System.Web.Caching” %>

<script runat=”server”>

void Page_Load(Object sender, EventArgs e) {

/*

//Inserire il codice per popolare il datagrid nella pagina.

//Segue un codice di esempio

//——————————————————–

DataView myDataView = (DataView) GetDataViewFromCache();

DataTable myDataTable = myDataView.Table;

DataGrid1.DataSource = myDataTable.DefaultView;

DataGrid1.DataBind();

//——————————————————–

*/

}

private DataView GetDataViewFromCache() {

if ( Cache[“FileInCache”] == null ) InsertCache();

DataView dv = (DataView) Cache[“FileInCache”];

return dv;

}

private void InsertCache() {

//Metto in cache il file Xml

DataSet myDs = new DataSet();

FileStream fileXmlData;

fileXmlData = new FileStream( Server.MapPath(“xml/nomeFile.xml”), FileMode.Open, FileAccess.Read );

myDs.ReadXml(fileXmlData);

Cache.Insert(“FileInCache”,

new DataView(myDs.Tables[0]),

new CacheDependency( Server.MapPath(“xml/nomeFile.xml”) ) );

fileXmlData.Close();

}

</script>

<html>

<head>

</head>

<body>

<form runat=”server”>

<asp:DataGrid id=”DataGrid1″ runat=”server”></asp:DataGrid>

</form>

</body>

</html>

I Video di HTML.it

Alfredo Morresi

Alfredo Morresi Developer Relations Program Manager per Google ci parla di come creare RESTful API con Google Cloud Endpoints e […]