La tecnología de almacenamiento en caché de ASP.Net ha mejorado enormemente la eficiencia. Publicaré el código de implementación simple del código:
1. Cuando se muestra en la página, lea los datos almacenados en caché y cargue los datos XML
public void LoadData ().
{
Fuente de vista de datos = (Vista de datos)Caché["Mis datos"];
si (Fuente == nulo)
{
Conjunto de datos ds = nuevo Conjunto de datos();
FileStream fs = nuevo FileStream(Server.MapPath("LoginMsg.xml"), FileMode.Open,FileAccess.Read);
Lector StreamReader = nuevo StreamReader(fs);
ds.ReadXml(lector);
fs.Cerrar();
Fuente = nuevo DataView(ds.Tables[0]);
Cache.Insert("MyData", Fuente, new CacheDependency(Server.MapPath("LoginMsg.xml")));
ErrorMsg.Text = "Datos leídos del archivo";
}
demás
{
ErrorMsg.Text = "Datos leídos del caché";
}
MyDataGrid.DataSource = Fuente;
MyDataGrid.DataBind();
}
2. Utilice XML para almacenar datos interactivos y coloque los datos en el caché
privado void LoginMsg_Click (remitente del objeto, System.EventArgs e)
{
si(!Página.IsValid)
{
ErrorMsg.Text = "Se requiere información de inicio de sesión";
devolver;
}
Conjunto de datos ds = nuevo Conjunto de datos();
FileStream fs = nuevo FileStream(Server.MapPath("LoginMsg.xml"),FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
Lector StreamReader = nuevo StreamReader(fs);
ds.ReadXml(lector);
fs.Cerrar();
Tabla de datos dt = ds.Tables[0];
DataRow nueva fila = dt.NewRow();
newrow["custom_email"] = CustomEamil.Text;
newrow["custom_pass"] = CustomPass.Text;
newrow["login_time"] = DateTime.Now.ToString();
fs = nuevo FileStream(Server.MapPath("LoginMsg.xml"), FileMode.Create, FileAccess.ReadWrite, FileShare.ReadWrite);
Escritor TextWriter = nuevo StreamWriter(fs);
escritor = TextWriter.Synchronized(escritor);
ds.Tables[0].Rows.Add(nueva fila);
ds.WriteXml(escritor);
escritor.Close();
Cache.Remove("Mis Datos");
Cargar datos()
;