Asp.net课后生活(6)

来源:互联网 发布:js对联广告 编辑:程序博客网 时间:2024/05/21 09:39
老胡说文章好好先生都出轨了。那说明一个什么问题。日新月异,什么都要改变,但是学习的本质还是不能变的。


继续学习了关于Web状态管理的问题。


学习和理解了Session(会话状态)对象的一些东西。


首先Session是关于服务器端状态的管理


老胡是从淘宝账号开始切入Session对象的。当淘宝用户从一个页面跳转到另一个页面的时候,而这个账户的信息却没有改变,这是为什么呢?


利用了Session机制。Session也如Cookie一般是一个字典的形式,利用的是键值对来存放东西。


而在Session存放在哪里呢?


Session存放在服务器上,每一个用户都会访问服务器的时候都会产生一个Session对象来存放这个客户的信息,而这个客户信息靠什么来识别谁是谁的信息呢。


自然就是SessionID来识别的。SessionID是每个主机的物理地址等等一系列东西组成的类似于识别码的。


在Web.config中自然是可以来控制Session对象的生命周期的--SessionState timeout


若是忘记设置这个,而默认的也自然有Session的销毁时间。


其次就讲述了Application对象的作用。


Application对象貌似就是公共澡堂一样。大家都可以拿来用,可以看见的东西。


Application对象也跟Session存储东西一样的,利用的键值对。


而Application对象中存放的东西往往都是很常用的东西,这些东西包括数据和对象。


老胡同志主要讲述了怎么改Application对象里边的东西呢


当然就像是多线程一样的感觉


先加锁,改东西,再解锁。


这里老胡同志也简述了一个实例。


一些网站关于呈现网站浏览人数和在线人数的问题。


考虑3个方面,一个是计数器初始化,二是用户访问网站时,计数器加1,统计浏览人数,离开网站时,计数器减1,统计在线人数。


而Application对象是一个公共对象,自然就利用到了全局应用程序集(Global.asax)


在这个全局应用程序集里边有关于Application和Session的事件。


这个计数器自然是公用的,那么就利用Application事件。


一个用户访问自然是靠Session.所以在Session事件里边进行计数的问题。


我觉着学习可能就是用自己的话来理解一遍老师教授的东西,然后再加以实践,可能才会事半功倍吧。
0 0