Die Caching-Technologie von ASP.Net hat die Effizienz erheblich verbessert. Ich werde den einfachen Implementierungscode des Codes veröffentlichen:
1. Lesen Sie beim Anzeigen auf der Seite die zwischengespeicherten Daten und laden Sie die XML-Daten
public void LoadData().
{
DataView Source = (DataView)Cache["MyData"];
if(Quelle == null)
{
DataSet ds = new DataSet();
FileStream fs = new FileStream(Server.MapPath("LoginMsg.xml"), FileMode.Open,FileAccess.Read);
StreamReader-Reader = new StreamReader(fs);
ds.ReadXml(reader);
fs.Close();
Quelle = new DataView(ds.Tables[0]);
Cache.Insert("MyData", Source, new CacheDependency(Server.MapPath("LoginMsg.xml")));
ErrorMsg.Text = „Daten aus Datei gelesen“;
}
anders
{
ErrorMsg.Text = „Daten aus Cache gelesen“;
}
MyDataGrid.DataSource = Quelle;
MyDataGrid.DataBind();
}
2. Verwenden Sie XML, um interaktive Daten zu speichern und die Daten im Cache
private void LoginMsg_Click(object sender, System.EventArgs e)
abzulegen.
{
if(!Page.IsValid)
{
ErrorMsg.Text = „Anmeldeinformationen erforderlich“;
zurückkehren;
}
DataSet ds = new DataSet();
FileStream fs = new FileStream(Server.MapPath("LoginMsg.xml"),FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
StreamReader-Reader = new StreamReader(fs);
ds.ReadXml(reader);
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);
writer = TextWriter.Synchronized(writer);
ds.Tables[0].Rows.Add(newrow);
ds.WriteXml(writer);
Writer.Close();
Cache.Remove("MyData");
LoadData();
}