Asp.net文件缓存技术

html文件

<form id="Form1" method="post" runat="server">
   <FONT face="宋体">
    <asp:Label id="lblmsg" style="Z-INDEX: 101; LEFT: 424px; POSITION: absolute; TOP:

72px" runat="server">文件缓存测试</asp:Label>
    <asp:Label id="Label3" style="Z-INDEX: 110; LEFT: 88px; POSITION: absolute; TOP:

312px" runat="server">身份证号</asp:Label>
    <asp:Label id="Label2" style="Z-INDEX: 109; LEFT: 88px; POSITION: absolute; TOP:

352px" runat="server">信用卡</asp:Label>
    <asp:Label id="Label1" style="Z-INDEX: 108; LEFT: 96px; POSITION: absolute; TOP:

272px" runat="server">姓名</asp:Label>
    <asp:Button id="RefreshBtn" style="Z-INDEX: 107; LEFT: 240px; POSITION: absolute;

TOP: 416px"
     runat="server" Text="刷 新"></asp:Button>
    <asp:TextBox id="txtCard" style="Z-INDEX: 106; LEFT: 160px; POSITION: absolute; TOP:

352px" runat="server"></asp:TextBox>
    <asp:TextBox id="txtIdno" style="Z-INDEX: 105; LEFT: 160px; POSITION: absolute; TOP:

312px" runat="server"></asp:TextBox>
    <asp:TextBox id="txtName" style="Z-INDEX: 104; LEFT: 160px; POSITION: absolute; TOP:

272px" runat="server"></asp:TextBox>
    <asp:Button id="AddBtn" style="Z-INDEX: 103; LEFT: 168px; POSITION: absolute; TOP:

416px" runat="server"
     Text="添 加"></asp:Button>
    <asp:DataGrid id="DataGrid1" style="Z-INDEX: 102; LEFT: 384px; POSITION: absolute;

TOP: 120px"
     runat="server"></asp:DataGrid></FONT>
  </form>

.aspx文件

using System.IO;
using System.Web.Caching;

private void Page_Load(object sender, System.EventArgs e)
  {
   if(!Page.IsPostBack)
   {
    this.LoadData();
   }
  }

private void LoadData()
  {
   DataView dv1=new DataView();
   dv1=(DataView)Cache["DataCache5"];
   DataSet ds=null;
   if(dv1==null)
   {
    FileStream fs=null;
    StreamReader sr=null;
    ds=new DataSet();
    fs=new FileStream(Server.MapPath("custom1.xml"),FileMode.Open,FileAccess.Read);
    sr=new StreamReader(fs);
    ds.ReadXml(sr);
    fs.Close();
    dv1=new DataView(ds.Tables[0]);
    Cache.Insert("DataCache5",dv1,new CacheDependency(Server.MapPath("custom1.xml"))); 

   
    lblmsg.Text="数据从文件中读出...";
   }
   else
   {
    lblmsg.Text="数据从缓存中读出...";
   }
  
   //绑定到DataGrid1对象
   DataGrid1.DataSource= dv1;
   DataGrid1.DataBind();   
  }

  private void AddBtn_Click(object sender, System.EventArgs e)//增加一个客户信息到文件中
  {
   FileStream fs=null;
   StreamReader Reader=null;
   DataSet ds=new DataSet();
   DataRow dr1;
   TextWriter tw1;
   if(!Page.IsValid)
   {
    lblmsg.Text="还有域未曾填充...";
   }
   else
   {
    ds=new DataSet();
    fs=new FileStream(Server.MapPath

("custom1.xml"),FileMode.Open,FileAccess.Read,FileShare.ReadWrite);
    Reader=new StreamReader(fs);
    ds.ReadXml(Reader);
    fs.Close();
    dr1=ds.Tables[0].NewRow();
    dr1["CustName"]=txtName.Text;
    dr1["CustIdno"]=txtIdno.Text;
    dr1["CustCard"]=txtCard.Text;
    ds.Tables[0].Rows.Add(dr1);
    fs.Close();   
    fs=new FileStream(Server.MapPath

("custom1.xml"),FileMode.Create,FileAccess.ReadWrite,FileShare.ReadWrite);
    tw1=new StreamWriter(fs);
    tw1=TextWriter.Synchronized(tw1);
    ds.WriteXml(tw1);
    tw1.Close();
    fs.Close();
    LoadData();
   }  
  }  

  private void RefreshBtn_Click()
  {
   LoadData(); 
  }

Xml文件

    <CustName />
    <CustIdno />
    <CustCard /> 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值