ASP.Net使用緩衝技術提高效率

來源:互聯網
上載者:User
asp.net|緩衝     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();
  }



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.