Asp.net 对象之application与session

上篇博客讲解了asp.net中response对象和request对象,这篇博客为大家详细的介绍一下application对象与session对象

Application对象时httpApplicationState对象的一个实例,可以生成一个所有web应用程序都可以存取的变量,这个变量的使用范围涵盖所有使用者,是要他正在用这个网页的程序都可以存取这个变量。

语法: Application[“变量”]=”变量的内容”; 例如:application[“count”]=0;

Application对象的声明周期:他从在与服务器的内容中只要创建了,就会一直存在,知道关闭IIS服务器,或者用page对象的clear方法清除。因为他不会自己消亡,所以注意不要创建过多的对象!

Application对象的常用属性,


属    性


说    明


AllKeys


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


Count


获取Application对象变量的数量


Item


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

这些属性主要使用的是count属性, 一般用来统计网站的访问数量!

Application对象常用的方法


方    法


说    明


Add


新增一个Application对象变量


Clear


清除全部Application对象变量


Lock


锁定全部Application对象变量


Remove


使用变量名称移除一个Application对象变量


RemoveAll


移除全部Application对象变量


Set


使用变量名称更新一个Application对象变量的内容


UnLock


解除锁定的Application对象变量

比较常用的lock和unlock 方法。

Application的方法都是用于处理多个用户对存储在Application中的数据进行写入的问题。共有两个:Lock方法:防止其他客户端更改Application对象的值。(仅当前客户可修改和存取);Unlock方法:与Lock方法相反,允许其他客户端更改Application对象的值。

·Lock方法,锁住其他线程对Application对象中stat集合的访问权限。这个方法主要是用来防止对Application的变量操作过程中,其他并发程序可能造成的影响。比如在记数过程中,如果不进行上锁操作,就有可能发生脏读脏写。例如,开始从变量中取得记数值1,

如果在记数并写回到变量之间,另一页面对它发生了一次记数,并先行写回变量,那么最终写回到变量中的值为2,而并不是实际的3。如果采用了上锁机制,在页面读出变量到记数并写回变量的过程中,即使发生了另一次记数,由于变量被锁住,它也不可能在变量被写回以前取得成功,只有等待变量释放,从而形成两者对变量操作的串行性,避免了数据的脏读和脏写。

·Unlock方法,对Application对象Stat集合锁定的解锁操作,释放资源以供其他页面使用。

具体用法:

Application.Lock-锁定Application对象所有变量

Application.Unlock-解锁Application对象所有变量

如;

Application.Lock;

Application("NumCount")=Application("NumCount")+1;(NumCount是在Application_OnStart事件设置的变量)

Application.Unlock;

Application的应用:

◆可以统计目前上站的人数

◆可以用于网站上不同用户之间的通信

◆可以记录广告条被点击的次数

◆可以在每个主页上显示动态信息

◆可以从数据库提取数据供多个网页使用

Session对象

Session对象是HttpSessionState对象的一个实例,其功能和application对象类似,都是用来存储跨网页程序的变量或者对象,但他们的有些特性存在差异。

语法:session[“变量名”]=“变量内容”;  variablesName=session[“变量名”];

Session对象常用的属性


属    性


说    明


TimeOut


传回或设定Session对象变量的有效时间,如果使用者

超过有效时间没有动作,Session对象就会失效。

默认值为20分钟


IsCookieless


一个布尔值,表示回话ID是嵌入到URL中,还是存储在HTTPCookie中


SessionID


获取回话的唯一标示符

TimeOut属性该属性用来定义用户Session对象的时限。如果用户在规定的时间内没有刷新网页,则Session对象就会终止。一般默认为20分钟。 设置方法,一般在web.config中设置,<sessionState mode=”InProc”timeout=”30”/>

Session对象常用的方法


方    法


说    明


Abandon


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

如果用户随后访问页面,可以为它创建新会话

(“重新建立”非常有用,这样用户就可以得到新的会话)


Clear


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


Add


向session对象中添加一个新项


Remove


删除Session对象中集合中指定的项

该对象的方法比较简单不在详细介绍。

Session对象的应用

◆session对象主要用于保存用户的各种信息

◆可以通过session对象来判断此用户是否是合法用户

◆在服务器上通过session来区分每一个上网用户

Application对象和session对象的异同

生命周期不同。

Session对象只针对单一网页使用者,不同的客户端无法相互存取。Application对象终止于停止IIS服务,而session对象终止于联机机器离线时,也就是网页使用者关闭浏览器或者超过Session变量的有效时间,Session对象就会消失!

他们都有OnStart事件和OnEnd事件,也是必须放在Global.asa文件里。

ASP.net的Application和Session对象体现了其他ASP内置对象所没有的特征--事件。每一个访客访问服务器时都会触发一个OnStart事件(第一个访客会同时触发Application和Session的OnStart事件,但Application先于Session),每个访客的会话结束时都会触发一个OnEnd事件(最后一个访客会话结束时会同时触发Application和Session的OnEnd事件,但Session先于Application)。

OnStart和OnEnd这两个事件一般应用在虚拟社区中统计在线人数、修改用户的在线离线状态等。要具体定义这两个事件,需要将代码写在Global.asa文件,并将该文件放在站点的根目录下(缺省是\Inetpub\wwwroot\)。另外,Application和Session对象规定了在OnEnd事件里除了Application对象外其他ASP内置对象(Response、Request、Server、Session...)一概不能使用。

只有熟练的掌握这连个对象的用法才能更好的进行服务器编程。

我将在下一篇博客中介绍Asp.net中的Cookie对象和Server对象,请继续关注!

时间: 2024-11-13 00:53:46

Asp.net 对象之application与session的相关文章

ASP.NET中利用Application和Session统计在线人数、历史访问量

先来简单说一下ASP.NET中的Application和Session 下图是我们非常熟悉的Web应用程序的结构: 在这张图中,Web服务器中运行的Web应用程序就是我们所说的Application,每个客户端与Web服务器之间建立的连接就可以看做是一个Session.比如现在服务器端运行的是一个论坛系统,那么现在这个正运行在服务器端的论坛系统的软件就可以看做Application,而每个在线的用户与之建立的连接就相当于一个Session. 那么很容易就会理解,Application是共享的,相

ASP.NET 使用application和session对象写的简单聊天室程序

ASP.Net中有两个重要的对象,一个是application对象,一个是session对象. Application:记录应用程序参数的对象,该对象用于共享应用程序级信息. Session:记录浏览器端的变量对象,用来存储跨网页程序程序的变量或者对象. 说实话,写了快一年的asp.net,application对象还真没怎么用过.看了看书,根据这两个对象的特性写了一个简单的聊天室程序.真的是非常的简陋. 我的思路是,有两个页面Default页和ChatRoom页,页面布局如图: Default

ASP基础教程:ASP内建对象Application和Session

在上一篇中作者给大家详细介绍了 ASP 内建对象 Response 的使用方法,在这一篇中作者将继续给大家介绍另两个非常实用且重要的 ASP 的内建对象 Application 和 Session. 在 ASP 的内建对象中除了用于发送.接收和处理数据的对象外,还有一些非常实用的代表 Active Server 应用程序和单个用户信息的对象. 让我们先来看看 Application 对象.在同一虚拟目录及其子目录下的所有 .asp 文件构成了 ASP 应用程序.我们非但可以使用 Applicat

什么是Cookie对象,Session对象,Application对象。

Cookie是: 一个由网页服务器放在您硬盘上的非常小的文本文件. 它本质上就像您的身份证明一样,并且不能像代码那样被执行或被用来散布病毒.它只能被您使用并且只能由提供的服务器读取. 使用Cookie的目的是: 告诉服务器您再次的访问该服务器. Cookie能为您做什么?: 帮您节约时间.如果您自定义页面,或注册产品或服务.cookie帮助微软记住您的身份.当下一次您再次访问的时候,我们将显示您需要的信息.或者当您注册另一个产品或服务的时候,您只需要键入您的E-mail和密码.我们将帮您填入任何

什么是Cookie对象,Session对象,application对象?

(1)Cookie对象是: 一个由网页服务器放在您硬盘上的非常小的文本文件. 它本质上就像您的身份证明一样,并且不能像代码那样被执行或被用来散布病毒.它只能被您使用并且只能由提供的服务器读取. 使用Cookie的目的是: 告诉服务器您再次的访问该服务器. Cookie能为您做什么?: 帮您节约时间.如果您自定义页面,或注册产品或服务.cookie帮助微软记住您的身份.当下一次您再次访问的时候,我们将显示您需要的信息.或者当您注册另一个产品或服务的时候,您只需要键入您的E-mail和密码.我们将帮

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

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

深入研究Application和Session对象

用ASP编写虚拟社区.网上购物等程序时,Application和Session对象具有举足轻重的作用,能够灵活合理地运用这两个对象是提高程序质量的关键.下面让笔者根据自己在这方面的经验,向大家深入介绍一下ASP的这两个内建对象. 一.Application对象的成员概述 Application对象成员包括Application对象的集合.方法和事件. ⒈Application对象的集合 Contents集合:没有使用<OBJECT>元素定义的存储于Applicaiton对象中的所有变量的集合

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等,那么它们有什么区别呢?