不可或缺的ASP.NET内置对象小结

2020-04-30 12:01:01王冬梅
HttpCookie cookie = new HttpCookie("User",TextBox1.Text);
Response.Cookies.Add(cookie);

注意:创建Cookie使用Response对象,读取Cookie使用Request对象

string str=Request.Cookies["User"].Value;

3.属性

Response.Cookie.Keys:获取Cookie变量名或者根据其索引获取变量值
Response.Cookies.Count:获取Cookie变量的数量
Response.Cookies.AllKeys:将Cookies对象中所有的变量名存储到数组中。

4.方法

Response.Cookies.Set:用于更新Cookie的变量值
Response.Cookies.Remove:用于删除Cookie变量
Response.Cookies.Get:用Cookie变量名称或者索引值获取变量值。
Response.Cookies.Clear:清除Cookie内所有的变量
Response.Cookies.Add:用于Cookie对象中添加Cookie变量。

5.Cookies工作原理图

七、Application对象

1.作用

应用程序级别的数据保存(类似于在CS开发中在Winform或WPF中声明的全局变量,这个变量一般在程序开启的时候创建好了,在程序使用过程中一直存在,但是会跟着不同的程序功能存储的数据可能会发生变化)
相当于在BS服务器中存储的一个变量,只要服务器本次开启那么这个数据就被创建存储,只要服务器不关闭那么这个数据就一直存在,在所有客户端访问过程中都可以对这个对象存储的数据进行访问和更改
使用方式和Session一样采用“键值”对的方式

2.特征

(1)位置:服务器内存,执行速度快
(2)使用范围:整个应用程序中
(3)类型:任意类型
(4)生命周期:应用程序开始创建到销毁

3.使用场合

例如统计这个站点的访问量,或者监控当前站点的访问人数

4.Global.asax文件

全局应用程序类:Global.asax,可以理解为Application对象主要在这个全局应用程序类中使用
(1) 处理应用程序级别的事件的可选文件
(2)必须放在应用程序的根目录下

常用事件 说明
Application_Start 接收第一个请求时触发
Application_End 应用程序结束时触发
Session_Start 某用户第一访问时触发
Session_End 某用户退出应用程序时触发

public class Global : System.Web.HttpApplication
  {
    //1.服务器开启
    protected void Application_Start(object sender, EventArgs e)
    {
      Application.Lock();//锁定访问
      Application["Uservisit"] = 0;//网站的被访问的次数
      Application["CurrentUsers"] = 0;//在线人数
      Application.UnLock();//取消锁定
    }
    //4.客户端首次访问
    protected void Session_Start(object sender, EventArgs e)
    {
      Application.Lock();
      Application["Uservisit"] = (int)Application["Uservisit"] + 1;
      Application["CurrentUsers"] = (int)Application["CurrentUsers"] + 1;
      Application.UnLock();
    }
    //5.客户端退出访问结束会话
    protected void Session_End(object sender, EventArgs e)
    {
      //在web.config文件中把SessionState模式设置为InPro时才会已发此事件
      Application.Lock();
      Application["CurrentUsers"] = (int)Application["CurrentUsers"] - 1;
      Application.UnLock();
    }
    //2.服务器开始接收请求
    protected void Application_BeginRequest(object sender, EventArgs e)
    {
      
    }
    //3.服务器开始处理请求
    protected void Application_AuthenticateRequest(object sender, EventArgs e)
    {

    }
    //错误日志记录
    protected void Application_Error(object sender, EventArgs e)
    {

    }
    
    //6.服务器结束
    protected void Application_End(object sender, EventArgs e)
    {

    }
  }