Application和Session详析(1)

对,我的确每天都在上网,并且登陆很多网站,但是当接触到Application和Session的时候,学习起来还是有些困难。

Application和Session到底是什么东东?在Web应用程序结构中他们处于什么位置,起到什么作用?

 

在我的理解的能力范围内解释一下吧:

 

1,先通过解释比较复杂的访问数据库的动态网页的处理流程,来了解Web应用程序及其工作机制

 

步骤1,Web浏览器请求动态页;

步骤2,Web服务器查找该页并将其传递给应用程序服务器;

步骤3,应用程序服务器查找并执行该页中的动态指令;

步骤4,应用程序服务器将查询发送到数据库驱动程序;

步骤5,驱动程序对数据库执行查询操作;

步骤6,查询结果返回给驱动程序;

步骤7,驱动程序将查询结果返回给应用程序服务器;

步骤8,应用程序服务器将数据插入页中,然后传递给Web服务器;

步骤9,Web服务器将完成的页发送回请求浏览器;

 

2了解了Web应用程序及其工作机制,我们每部分单个来说,从而了解Application和Session在啊Web应用程序结构中的位置和作用:

 

结合以上两图:

Application把Web应用程序部署在Web服务器上,运行的软件称为Application,即为一个应用程序实例;

 

Session一个应用程序运行在一台服务器上,会有很多用户向应用程序发出请求,每个客户与服务器之间的交互成为一个会话session;

 

Server服务器对象认为是server;通过server控制服务器信息;

 

问题:

 

1)它们什么时候被建立?它们的作用范围分别是什么?

 

Application是全局对象,在程序运行(第一个用户请求)时就建立,只被创建一次,Application对象可以多用户同时使用;它用来维护各个会话之间全局需要共享的数据。作用范围是当前整个应用程序(如果把数据存储在Application对象集合中,则任何会话都可读取)

 

Session是会话,一个用户对应一个session会话,用户访问网站的时候Session会话被建立; 作用范围是基于单个用户的(即,一个用户不能访问另一个用户的Session,因为Session对象包含用户特定信息,在会话中跟踪和监视用户信息)

 

(2)它们如何失效?

 

停止Web服务,应用程序停止,Application对象失效;

(注:除非正常的应用程序停止,如:断电)

 

用户关闭网页时,Session不一定失效,因为Session也有自己的生命周期,默认情况下,Session的超时时间(Timeout)是20分钟,即用户保持连续20分钟不访问网站,则Session被收回。如果在这20分钟内用户又访问了一次页面,那么20分钟就重新计时了。也就是说,这个超时是连续不访问的超时时间,而不是第一次访问后20分钟必过时。

当然,可以通过修改Web.config文件的配置项来调整这个超时时间,如下面的代码所示:

<sessionState timeout="30"></sessionState>

      同样也可以在程序中进行设置,如下面的代码所示:

Session.Timeout = "30";

      一旦Session超时,Session中的数据将被回收,如果你再次使用Session,将给你分配一个新的SessionID。

如果需要立刻让Session失效。比如用户退出系统后,Session中保存的所有数据需要全部失效。处理方法如下面的代码所示:

Session.Abandon();

 

 

有关Application对象和Session对象的总结,还会再下一篇博客中继续。待。。。。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值