XML+Application来编写计数器(一)

1)网站总共访问人数计数器


这种计数器我们可以使用XML来实现,打开windows的记事本在其中录入以下数据另存为count.xml。
<MyCount>
<AllCount>0</AllCount>
<MaxCount>0</MaxCount>
</MyCount>
其中AllCount标签是记录web页面访问的总人数的,我们来编写代码操纵这个xml文件
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>//导入…
<Script language="C#" runat=server>
HttpCookie CkeCount=new HttpCookie("Count");//来一个cookie变量,用来判断访客是否在您的网站
void Page_Load()
{
if(Request.Cookies["Count"]==null)//如果cookie为空,说明第一次载入您的页面
{
CkeCount.Value="true";//给cookie添加一个值
/* 这里是可选代码,看看cookie是否失效,如果您设置成1个月,有个访客以前访问过您的站点,他的cookies里面有您存入的值,并且他的cookies没有清空那么再看if语句,那这个访客载入页面时在计数器中就不加1,如果您不设置cookies保留时间,那么访客离开 您的站点cookie自动消失。
DateTime dt=DateTime.Now;
TimeSpan ts=new TimeSpan(30,0,0,0);
CkeCount.Expires=dt+ts;
*/

///**********xml 操作****************************8
DataSet objDataSet=new DataSet();
objDataSet.ReadXml(Server.MapPath("count.xml")); //dataset读xml文件
objDataSet.Tables["MyCount"].Rows[0]["AllCount"]=Convert.ToInt64(objDataSet.Tables["MyCount"].Rows[0]["AllCount"])+1;//这里是写如xml,更新第一行Allcount标签的值+1
objDataSet.WriteXml(Server.MapPath("database/count.xml"));//写如xml
Response.Cookies.Add(CkeCount);//写入cookies

lbCount.Text="总共"+objDataSet.Tables["MyCount"].Rows[0]["AllCount"].ToString();//显示在页面上
}
</script>
<asp:label runat=server id=lbCount />

XML+Application来编写计数器(二)

posted @ 2005-04-16 14:02  冰戈  阅读(963)  评论(0编辑  收藏  举报