4. Application对象
Application对象是一个集合对象,并在整个ASP.NET网站内可用,不同的用户在不同的时间都可以访问Application对象的变量。由于它是一个内置对象,所以使用它的时候与使用Response对象和Request对象类似,不需要进行任何对象的实例化,就可以直接使用。
Application对象用来存储变量或对象, 以便在网页再次被访问时(不管是不是同一个连接者或访问者), 所存储的变量或对象的内容还可以被重新调出来使用, 也就是说Application对于同一网站来说是公用的,可以在各个用户间共享。
(1)Application对象的属性和方法
n Count:取得Application对象变量的数量。
n Get:使用索引或变量名称获取变量的值。
n GetKey:使用索引获取对象变量的值。
n Add(name,value):新增一个名称为name,值为value的Application对象变量。
n Set(name,value):更新名为name的Application对象变量的值。
n Clear:清除全部的Application对象变量。
n Remove(name):删除名称为name的Application对象变量。
n Lock:锁定所有Application对象变量。
n UnLock:解除锁定所有Application对象变量。
(2)Application对象的重要事件
n OnStart事件:是当第一个客户请求ASP.NET文件的时候,由ASP.NET调用执行;
n OnEnd事件:在服务器关闭的时候,由ASP.NET调用执行,通常是把所有需要永久保存的信息写入到磁盘中,以便在服务器重新启动并被访问的时候重新加载。
使用Application对象存取变量时需要注意以下几点:
n Application对象变量应该是经常使用的数据,如果只是偶尔使用,可以把信息存储在磁盘的文件中或者数据库中。
n Application对象是一个集合对象,它除了包含文本信息外,也可以存储对象。
5.Session对象
ASP.NET提供了内置对象Session负责存储、读取和改变一个特定用户的会话信息。对于每个用户的每次访问Session对象是唯一的,这主要体现在:
1)对于某个用户的某次访问,Session对象在访问期间唯一,可以通过Session对象在页面间共享信息。只要Session没有超时,或者Abandon方法没有被调用,Session中的信息就不会丢失。Session对象不能在用户间共享信息,而Application对象可以在不同的用户间共享信息。
2)对于用户的每次访问其Session都不同,两次访问之间也不能共享数据。
(1)Session对象的属性和方法
n SessionID:表示一个会话的存在,当用户与服务器建立连接时服务器就自动给用户分配一个SessionID,SessionID可以区分不同的会话(Session) 。
n TimeOut:表示在一个会话结束之前会等待用户没有任何活动的最大时间,单位是分钟。
n Abandon:调用该方法用于消除用户的Session对象并释放其所占的资源。调用Abandon方法后会触发Session_OnEnd事件。
n Add(name,value):新增名字为name,值为value的Session变量。
n Clear:清除所有Session变量。
n RemoveAll:清除所有Session变量。
n Remove(name):清除名字为name的Session变量。
n RemoveAt(index):删除索引为index的Session变量。
n CopyTo:将当前会话状态值集合复制到一个一维数组中。
(2)Session对象的两个事件
n Session_OnStart事件:在创建一个Session时被触发;
n Session_OnEnd事件:在用户Session结束时(可能是因为超时或者调用了Abandon方法)被调用。
n 6. Cookie对象
在Web程序设计中,它表示一个长度不超过4K的一个普通的文本文件。这个文件在用户的硬盘上,可以由Web浏览器进行访问。
Cookie有两种形式:会话Cookie和永久Cookie。
n 会话Cookie是临时性的,保存在用户的内存中而不是硬盘上,只在浏览器打开的时候才存在,一旦会话结束或会话超时,这个Cookie就被删除。
n 永久Cookie则是永久性地存储在客户的硬盘上,并且在指定的过期日期之前一直可以使用。
因此,为了能够长期地保存Cookie信息,需要设置Cookie的过期日期,这样才能让Cookie成为永久性Cookie。
(1)Cookie对象的属性和方法
n Expires:获取或设置此Cookie的过期日期和时间。默认为1000分钟。
n Name:获取或设置Cookie的名称。
n Value:获取或设置单个Cookie值。
n Values:获取单个Cookie对象中包含的键值对的集合。
n Add:向Cookie中添加一个名字、值对。
(2)Cookie的实用方法
Cookies对象不属于Page对象,用法与Application及Session对象不同。
1)创建一个Cookie
HttpCookie Cookie 对象名=new HttpCookie(Cookie名);
2)向Cookie中添加名字、值对
Cookie对象名. values. Add(名字,值);
3)将Cookie写入到客户端
Response.AppendCookie(Cookie对象名);
4)获取Cookie对象
HttpCookie Cookie 对象名=Request.Cookies[“Cookie名”];
5)获取Cookie对象中的值
Cookie.values[“关键字名”];
(3)设置Cookie的过期时间
Cookie对象的Expires属性用于获取或设置Cookie对象的到期日及时间。到期日及时间以客户端的计算机为准。
例如:
设置过期时间为2011-09-09:
myCookie.Expires =Convert.ToDateTime("2011-09-09");
设置永不过期:
myCookie.Expires = DateTime.MaxValue;