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();
}
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器