仰天一笑(Ansonxuyu),专业从事软件定制开发、Web软件开发,网站建设,网络推广,APP开发,微博应用开发,微信应用开发,电子商务开发,物联网开发等技术。
互联网8年风雨,愿在此交朋识友,交流心得,分享技术知识(策划/研发/运营/推广/合作)!QQ:943530498


仰天一笑

昨日不悔,今日勿失,明日莫忧! —徐羽

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

ASP.Net的缓存技术大大地提高了效率,本人将代码的简单的实现代码贴出:

一、在页面中显示时,读缓存数据,加载XML数据

public void LoadData()
  {
   DataView Source = (DataView)Cache["MyData"];
   if(Source == 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();
    Source = new DataView(ds.Tables[0]);
    Cache.Insert("MyData", Source, new CacheDependency(Server.MapPath("LoginMsg.xml")));
    ErrorMsg.Text = "从文件中读取的数据";
   }
   else
   {
    ErrorMsg.Text = "从缓存中读取的数据";
   }
   MyDataGrid.DataSource = Source;
   MyDataGrid.DataBind();
  }



二、用XML存储交互数据,将数据放置到缓存中

private void LoginMsg_Click(object sender, System.EventArgs e)
  {
   if(!Page.IsValid)
   {
    ErrorMsg.Text = "必需输入登录信息";
    return;
   }
   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);
   TextWriter writer = new StreamWriter(fs);
   writer = TextWriter.Synchronized(writer);
   ds.Tables[0].Rows.Add(newrow);
   ds.WriteXml(writer);
   writer.Close();
   Cache.Remove("MyData");
   LoadData();

  }

posted on 2006-03-25 17:25  仰天一笑  阅读(742)  评论(0编辑  收藏  举报