public partial class CookieDemo3 : System.Web.UI.Page
{
public static int number;
protected void Page_Load(object sender, EventArgs e)
{
HttpCookie NumCookie = new HttpCookie("IntVisit",number.ToString());
Response.SetCookie(NumCookie);
number = Convert.ToInt32(Request.Cookies["IntVisit"].Value);
if (number == 0)
{
number = 1;
}
else
{
number = number + 1;
}
Response.Write("你是第"+number.ToString()+"次,访问本站");
}
求每行代码的注释 解释
//创建一个名称为IntVisit,值为number的HttpCookie
HttpCookie NumCookie = new HttpCookie("IntVisit", number.ToString());
//把新建的Cookie加入到当前Cookie集合中
Response.SetCookie(NumCookie);
//获取刚加入的名为IntVisit的Cookie的值
number = Convert.ToInt32(Request.Cookies["IntVisit"].Value);
//如果值为0
if (number == 0)
{
number = 1;
}
else//值不等于0,非第一次访问,number为静态变量,从应用程序开始到结束,一直存在于内存中,下次访问number将在本次基础上加1
{
number = number + 1;
}
//输出客户访问的次数
Response.Write("你是第" + number.ToString() + "次,访问本站");
你这种设计方法不合理,因为如果你的网站遇到重启的情况,number的值将重新变成0,那么客户之前的浏览量将不准确,你可以把number值保存到配置文件里或者数据库里以进行持久化存储!
呵呵,说的有理,非常感谢
没明白有什么问题?