session对象和applicatione对象
ASP.NET 的常用对象有:response对象、request对象、application对象、server对象、session对象。下面主要讨论session对象和cookie对象。
session对象是一个会话,是一个客户与服务器之间的交互。session是HTTPSeeesionState的类别,他存储个人信息,一个用户不能访问另一个用户的session信息。一个用户说的不是一台电脑就是一个用户,而是一个浏览器,一台电脑里不同的浏览器就是不同的用户,他们的session就是不同,他们是更具sessionID的不同而区分的。session里面存放object对象类型,取出来必须使用强制转换。
session是存放在服务器端的,他并不是一直都存在的,一定时间后他就会消亡,是根据timeOut设定的,默认的是20分钟。
session对象的应用如新闻发布系统当是游客的时候只能查看新闻,不能对新闻进行修改,只有有一定权限的管理员才能修改,所以只有当登陆的是管理员用户时才能进入修改页面进行修改。但是如果不进行一些限制的话,游客可以直接输入修改页面的网址直接进行修改。所以我们可以在登陆时创建一个将用户信息存放在session中,在进入修改页面的时候判断session中是否有能修改权限的用户信息,如果没有则不让他进入修改页面。
登陆页代码如下:
if (txtUserName.text="zuo" && txtPassword.text=123456){ Session["admin"] =txtUserName.text;}
修改页面判断如下:
if (Session["admin"]!=null && Session["admin"].ToString ()=="niunan") { //进行相应的操作}else{//返回登陆页Response.Redirect("Login.aspx");}
application对象
是应用程序类,程序启动时第一次请求时这个application实例就会运行起来。有了application对象,这个对象会维护1个或多个会话信息,多个信息共享。会话之间是隔离的,用他联系起来。他就相当于全局变量,程序已启动就存在,程序关闭时才灭亡,在他存在的过程中,多个session对象都可以访问它,所以他使用存放一些公关的信息。
Application 对象握有会被应用程序中的许多页面使用的信息(比如数据库连接信息)。这意味着可以从任何的页面访问这些信息。同时也意味着你可在一个地点改变这些信息,然后这些改变会自动反映在所有的页面上。application的应用他可以用来统计登陆某过网站的人数。在Application_Start事件中,先读取历史访问人数,然后再Session_Start事件中加1,这样每增加一个用户,就就会加1,在Application_End事件中,在将数据更新回数据库。Session_Start事件、Session_End事件、 Application_Start事件、Application_End事件都在"Global.asax",可以在 "Global.asax" 中创建 Application 变变量。
区别他俩都是用来存储用户信息。但是application对象只有一个,所有的用户分享一个 Application 对象,而 session 对象和用户的关系是一一对应的,一个用户一个session。所以相当于application存储的是全局变量,而session存储的是局部变量。
- 17楼dandanzmc11小时前
- 学习啦,嘻嘻
- 16楼ironxue12小时前
- 要是用了思维导图,获取会更生动。
- 15楼lishuangzhe704713小时前
- Session也可以存取全局变量吧??
- Re: zuozuo124512小时前
- 回复lishuangzhe7047n这个全局变量的意思就是可以多个用户访问,而session只能是那一个用户访问。
- 14楼liutengteng13013小时前
- 继续加油啊,对比学习。
- 13楼kanglix1an15小时前
- 左,画个图或表格对比下,更清楚哦
- 12楼zwk62654241715小时前
- 知识还没有学习到,先收藏了,我这算是抢着沙发了吧。
- 11楼leimengyuanlian昨天 21:12
- 不错,顶一个,加油!
- 10楼tang_huan_11昨天 21:09
- 对比着学习,很好!加油!
- 9楼xvshu昨天 21:07
- 两个不同的侧面啊
- 8楼zhuanzhe117前天 22:11
- 有进步哦,加油
- 7楼gxq741718618前天 15:45
- 对比的学习,学习了!
- 6楼lishehe前天 14:58
- 对比学习,加油
- 5楼han_yankun2009前天 11:19
- 好好学习了额
- 4楼caozhangyingfei0109前天 08:57
- 左,有进步啊,有了区别和对比!
- 3楼jiuqiyuliang前天 08:31
- 加油,小左
- 2楼cjr152336611433天前 20:43
- 学习啦,上次头脑风暴遗留下来的
- 1楼hanxuemin123453天前 20:40
- 我这一部分也只是潜意识理解 学习了