ASP.Net のキャッシュ テクノロジにより効率が大幅に向上しました。コードの簡単な実装コードを掲載します。
1. ページに表示するときに、キャッシュされたデータを読み取り、XML データを読み込みます
。 public void LoadData()
{
DataView ソース = (DataView)Cache["MyData"];
if(ソース == null)
{
DataSet ds = 新しい DataSet();
FileStream fs = new FileStream(Server.MapPath("LoginMsg.xml"), FileMode.Open,FileAccess.Read);
StreamReader リーダー = 新しい StreamReader(fs);
ds.ReadXml(リーダー);
fs.Close();
ソース = 新しい DataView(ds.Tables[0]);
Cache.Insert("MyData", Source, new CacheDependency(Server.MapPath("LoginMsg.xml")));
ErrorMsg.Text = "ファイルから読み取られたデータ";
}
それ以外
{
ErrorMsg.Text = "キャッシュから読み取られたデータ";
}
MyDataGrid.DataSource = ソース;
MyDataGrid.DataBind();
}
2. XML を使用して対話型データを保存し、そのデータをキャッシュに置きます
private void LoginMsg_Click(object sender, System.EventArgs e)
{
if(!Page.IsValid)
{
ErrorMsg.Text = "ログイン情報が必要です";
戻る;
}
DataSet ds = 新しい DataSet();
FileStream fs = new FileStream(Server.MapPath("LoginMsg.xml"),FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
StreamReader リーダー = 新しい StreamReader(fs);
ds.ReadXml(リーダー);
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);
TextWriter ライター = new StreamWriter(fs);
ライター = TextWriter.Synchronized(ライター);
ds.Tables[0].Rows.Add(newrow);
ds.WriteXml(ライター);
Writer.Close();
Cache.Remove("MyData");
ロードデータ()
;