La technologie de mise en cache d'ASP.Net a considérablement amélioré l'efficacité.Je publierai le code d'implémentation simple du code :
1. Lors de l'affichage sur la page, lisez les données mises en cache et chargez les données XML
public void LoadData().
{
Source DataView = (DataView)Cache["MesDonnées"];
si (Source == nul)
{
DataSetds = new DataSet();
FileStream fs = new FileStream(Server.MapPath("LoginMsg.xml"), FileMode.Open,FileAccess.Read);
Lecteur StreamReader = nouveau StreamReader(fs);
ds.ReadXml(lecteur);
fs.Close();
Source = nouveau DataView(ds.Tables[0]);
Cache.Insert("MesDonnées", Source, nouveau CacheDependency(Server.MapPath("LoginMsg.xml")));
ErrorMsg.Text = "Données lues à partir du fichier";
}
autre
{
ErrorMsg.Text = "Données lues depuis le cache";
}
MyDataGrid.DataSource = Source ;
MyDataGrid.DataBind();
}
2. Utilisez XML pour stocker les données interactives et placez les données dans le cache
privé void LoginMsg_Click (expéditeur d'objet, System.EventArgs e)
{
si(!Page.IsValid)
{
ErrorMsg.Text = "Informations de connexion requises";
retour;
}
DataSetds = new DataSet();
FileStream fs = new FileStream(Server.MapPath("LoginMsg.xml"),FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
Lecteur StreamReader = nouveau StreamReader(fs);
ds.ReadXml(lecteur);
fs.Close();
DataTable dt = ds.Tables[0];
DataRow newrow = dt.NewRow();
newrow["custom_email"] = CustomEamil.Text;
newrow["custom_pass"] = CustomPass.Text;
newrow["login_time"] = DateTime.Now.ToString();
fs = new FileStream(Server.MapPath("LoginMsg.xml"), FileMode.Create, FileAccess.ReadWrite, FileShare.ReadWrite);
TextWriterwriter = new StreamWriter(fs);
écrivain = TextWriter.Synchronized(écrivain);
ds.Tables[0].Rows.Add(newrow);
ds.WriteXml(écrivain);
écrivain.Close();
Cache.Remove("MesDonnées");
LoadData();
}