Application对象、Session对象、Cookie对象、Server对象初步认识

Application对象:记录应用程序参数的对象

用于共享应用程序级信息,即多个用户共享一个Application对象。在第一个用户请求ASP.NET文件时,将启动应用程序并创建Application对象。一旦Application对象被创建,它就可以共享和管理整个应用程序的信息。在应用程序关闭之前,Application对象一直存在。所以,Application对象是用于启动和管理ASP.NET应用程序的主要对象

属性:

Application.AllKeys:返回全部Application对象变量名到一个字符串数组中

Application.Count:获取Application对象变量的数量

Application.Item:允许使用索引或者Application变量名称传回内容值

Application["app1"]="app1";Application[0]//给Application对象变量赋值

Application["app2"]="app2";Application[1]

Application["app3"]="app3";Application[2]

方法:

Application.Add("app1","app1");//新增一个Application变量

Application.Clear();//清除全部Application对象变量

Application.Lock();//锁定全部Application对象变量

Application.Remove("app1");//使用变量名移除一个Application对象变量

Application.RemoveAll();//移除全部Application对象变量

Application.UnLock();//解除锁定的Application对象变量

常用事件:

1、Application_Start事件

Application_Start事件在首次创建新的会话(即事件)之前发生,只有Application和Server内置对象可以使用。在Application_Start事件中引用Session、Request或Response对象将导致错误。由于Application对象是多用户共享的,因此它与Session对象有本质区别,同时Application对象不会因为某一个甚至全部用户的离开而消失,一旦建立了Application对象,那么它就会一直存在直到网站关闭或者该Application对象被卸载,这通常需要很长时间。由于Application对象创建后不会自己注销,因此一定要特别小心使用。另外,它会占用内存,要避免降低服务器对其他工作的响应速度。中止Application对象有3中方法,分别为服务被中止、Global.asax文件被改变或者该Application对象被卸载

2、Application_End事件

Application_End事件在应用程序退出时于Session_End事件之后发生,只有Application和Server内置对象可使用。Application_End事件只有在服务中止或者该Application对象卸载时才会触发,如果单独使用Application对象,该事件可以通过Application对象在利用Unload事件卸载时进行触发。一个Application_End事件肯定发生在Session_End事件之后。Application_End事件触发唯一一个脚本程序,它存在于Global.asax文件中

*如果希望服务中止或者Application对象卸载时执行某些操作,可以在Application_End事件中编写相应代码

Application应用:

实现在线人数统计

 1 Void Session_Start(object sender, EventArgs e)
 2 {
 3       Application.Lock();//锁定
 4       Application["count"] = (int)Application["count"] + 1;//访客增加
 5       Application.UnLock();//开锁
 6 }
 7
 8 Void Session_End(object sender, EventArgs e)
 9 {
10       Application.Lock();//锁定
11       Application["count"] = (int)Application["count"] - 1;//访客减少
12       Application.UnLock();//开锁
13 }

Session对象:记录浏览器端的变量对象

用来存储跨网页程序的变量或者对象。Session对象只针对单一网页使用者,也就是说服务器会为连接的客户端分配各自的Session对象,不同的客户端无法互相存取。当Session对象超过设置的有效时间时,Session对象就会消失。Session对象和Application对象都是Page对象的成员,因此可直接在网页中使用。

属性:

Session.Contents:获取对当前会话状态对象的引用

Item:获取或设置会话值

TimeOut:设置Session对象的有效时间,默认值为20分钟;可以在应用程序的web.config文件中,使用sessionState配置元素的timeout属性来设置TimeOut属性,也可以直接使用程序代码来设置TimeOut属性值

方法:

Abandon:此方法结束当前会话,并清除会话中的所有信息

Add:用于向Session对象集合中添加一个新项

CopyTo:将会话状态值的集合复制到一维数组中(从数组的指定索引处开始)

Clear:此方法清除全部的Session对象变量,但不结束会话

Session应用:

记录用户名和密码

Session["UserName"] = UserName;

Session["PassWord"] = PassWord;

时间: 2024-10-05 09:55:17

Application对象、Session对象、Cookie对象、Server对象初步认识的相关文章

asp.net内置对象session和cookie

1.各个机器的session对象不同,不同浏览器之间不通用(换个浏览器,是个新的session). 2.session状态对象起始于网页打开,终止于网页关闭,生命周期有限. 3.关闭浏览器/超时的情况下,session对象即被销毁,不要放太多/太大的对象在session. 4.Web应用程序在传统意义上无状态,需要使用内置对象进行客户端状态的保存. 5.session对象和Application对象存储在服务端,cookie对象存储在客户端. 6.session对象适用于安全性相比之下较高的场合

Application、Session、Cookie、ViewState的特性

http://blog.csdn.net/zyw_anquan/article/details/7664132 Application的特性: 存储的物理位置:服务器端内存. 存储的类型限制:任意类型,Application对象可以存放其它对象. 状态使用的范围:整个应用程序. 存储的大小限制:任意大小. 生命周期:应用程序开始时创建,应用程序结束时销毁. 安全与性能:安全性较高(因为存放在服务器端),不能存放大量数据. Session的特性: InProc StateServer SQLSer

ASP.NET之Application、Session和Cookie的区别

在Asp.net中Application.Session和Cookie都可以保存信息,那么它们有什么不同呢? 一.首先Application是在服务器端建立一个状态变量,存储于服务器的全局变量来存储所需信息.它是建立在内存中的,这个变量可以被网站的所有页面访问. 访问Application对象变量方法: Application["变量名"]=变量值        变量=Application["变量名"] 实例:可以用在网站统计用户的访问量,便于管理员对网站访问情况

Asp.net中Application、Session、Cookie、ViewState、Cache、Hidden的区别

这些对象都是用来保存信息的,包括用户信息,传递值的信息,全局信息等等.下面主要说一下他们之间的区别: 1.Application对象 Application用于保存所有用户的公共的数据信息,如果使用Application对象,一个需要考虑的问题是任何写操作都要在Application_OnStart事件(global.asax)中完成.尽管使用Application.Lock和Applicaiton.Unlock方法来避免写操作的同步,但是它串行化了对Application对象的请求,当网站访问

asp.net Application、 Session、Cookie、ViewState、Cache、Hidden 的区别

这些对象都是用来保存信息的,包括用户信息,传递值的信息,全局信息等等.他们之间的区别: 1.Application对象 Application用于保存所有用户的公共的数据信息,如果使用Application对象,一个需要考虑的问题是任何写操作都要在Application_OnStart事件(global.asax)中完成.尽管使用Application.Lock和Applicaiton.Unlock方法来避免写操作的同步,但是它串行化了对Application对象的请求,当网站访问量大的时候会产

(11)Web程序保存状态的几种方式,Application,Session,Cookie,ViewState

WEb程序保存状态的方式有这样几种: 1.Application:保存在Application中的数据是全局有效的:Application里面存放的应该是访问多修      改较少并且是全局至少大部分功能会使用的数据,例如计数器或者数据库连接串等. Application.Lock();        ((int)Application["Count"])++;        Application.Unlock(); 2.Session:在Asp.Net内部,有一个StateAppl

[ASP.net教程]ASP.NET保存信息总结(Application、Session、Cookie、ViewState和Cache等)

以下是关于ASP.NET中保存各种信息的对象的比较,理解这些对象的原理,对制作完善的程序来说是相当有必要的(摘至互联网,并非原创--xukunping)在ASP.NET中,有很多种保存信息的对象.例如:APPlication,Session,Cookie,ViewState和Cache等,那么它们有什么区别呢?每一种对象应用的环境是什么?    为了更清楚的了解,我们总结出每一种对象应用的具体环境,如下表所示:方法 信息量大小 保存时间 应用范围 保存位置Application 任意大小 整个应

ASP.NET保存信息总结(Application、Session、Cookie、ViewState和Cache等)

以下是关于ASP.NET中保存各种信息的对象的比较,理解这些对象的原理,对制作完善的程序来说是相当有必要的(摘至互联网,并非原创--xukunping) 在ASP.NET中,有很多种保存信息的对象.例如:APPlication,Session,Cookie,ViewState和Cache等,那么它们有什么区别呢?每一种对象应用的环境是什么?    为了更清楚的了解,我们总结出每一种对象应用的具体环境,如下表所示: 方法 信息量大小 保存时间 应用范围 保存位置 Application 任意大小

ASP.NET保存信息总结(Application、Session、Cookie、ViewState和Cache等) ZT

http://www.cnblogs.com/ranran/p/4065619.html http://www.cnblogs.com/jxlsomnus/p/4450911.html 以下是关于ASP.NET中保存各种信息的对象的比较,理解这些对象的原理,对制作完善的程序来说是相当有必要的(摘至互联网,并非原创--xukunping) 在ASP.NET中,有很多种保存信息的对象.例如:APPlication,Session,Cookie,ViewState和Cache等,那么它们有什么区别呢?