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_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存储的是局部变量。
session对象和applicatione对象的更多相关文章
- Application对象、Session对象、Cookie对象、Server对象初步认识
Application对象:记录应用程序参数的对象 用于共享应用程序级信息,即多个用户共享一个Application对象.在第一个用户请求ASP.NET文件时,将启动应用程序并创建Applicatio ...
- [原创]java WEB学习笔记47:Servlet 监听器简介, ServletContext(Application 对象), HttpSession (Session 对象), HttpServletRequest (request 对象) 监听器,利用listener理解 三个对象的生命周期
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
- Hibernate,Session方法使得java对象进入持久化状态;持久化对象特征
以下情况java对象进入持久化状态: session.save()方法把临时对象转变为持久化对象. session.load()和session.get()方法得到的对象总是处于持久化状态. sess ...
- struts2下velocity做视图如何访问request,session等内置对象,如:原来webwork的$req
struts2下velocity做视图如何访问request,session等内置对象(转) velocity 内置对象 struts2 requestStruts2环境下用velocity做视图时访 ...
- 关于SessionFactory的不同实现类分别通过getCurrentSession()方法 和 openSession() 方法获取的Session对象在保存对象时的一些区别
一.单向多对一关联关系 一).使用LocalSessionFactoryBean类,即在applicationContext中配置的 <!-- 配置SessionFactory 使用LocalS ...
- C#中??和?分别是什么意思? 在ASP.NET开发中一些单词的标准缩写 C#SESSION丢失问题的解决办法 在C#中INTERFACE与ABSTRACT CLASS的区别 SQL命令语句小技巧 JQUERY判断CHECKBOX是否选中三种方法 JS中!=、==、!==、===的用法和区别 在对象比较中,对象相等和对象一致分别指的是什么?
C#中??和?分别是什么意思? 在C#中??和?分别是什么意思? 1. 可空类型修饰符(?):引用类型可以使用空引用表示一个不存在的值,而值类型通常不能表示为空.例如:string str=null; ...
- Tomcat关闭后,重新启动,session中保存的对象为什么还存在解决方法
Tomcat关闭后,重新启动,session中保存的对象为什么还存在各们朋友大家好: 当我关闭Tomcat,重新启动后,session中保存的对象还依然存在,仍然可以使用,不知这是什么 ...
- 如何获取Session对象中的对象
先调用request的getSession()方法获取一个HttpSession的对象,然后将这个对象进行强制类型转换成原本封装的对象,这样就能获取Session对象中的对象了 1.调用request ...
- django request对象和HttpResponse对象
HttpRequest对象(除非特殊说明,所有属性都是只读,session属性是个例外)HttpRequest.scheme 请求方案(通常为http或https)HttpRequest.body 字 ...
随机推荐
- Raphael入门实例:动画与箭头
raphael 实例 动画 隐藏和显示参数说明 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 var c = paper.circle(50, 50, 40); function ...
- c#语法与c++ 及 java语法的对比分析
早期开发的时候一直用c/c++,后来主要用的是java.最近需要用下c#. 熟悉了下c#,发现c#语言在对c/c++基础上做了很多简化,同时参考了很多java的语法习惯,本来在语法上c/c++就有很多 ...
- LDAP研究
一.ldap介绍 ldap是轻量级的文件夹訪问协议.重点是文件夹訪问协议.更为重点的是协议.好吧他是一个协议.也就是一个标准. 那么实现这款协议的软件当中有一款就是openldap. 二.安装wind ...
- android4.4组件分析--service组件
6 Service 6.1 service介绍 6.1.1. 基本介绍 Service是Android四大组件之中的一个(其余的是activit ...
- IOS 新消息通知提示-声音、震动
一.APNS 1.注册 [[UIApplication sharedApplication] registerForRemoteNotificationTypes:UIRemoteNotificati ...
- WCF技术剖析之二十二: 深入剖析WCF底层异常处理框架实现原理[中篇]
原文:WCF技术剖析之二十二: 深入剖析WCF底层异常处理框架实现原理[中篇] 在[上篇]中,我们分别站在消息交换和编程的角度介绍了SOAP Fault和FaultException异常.在服务执行过 ...
- CQOI2015 选数
题目 从\([L, H]\)(\(H-L\leq 10^5\))选出\(n\)个整数,使得这些数的最大公约数为\(k\)的方案数. 算法 首先有一个很简单的转化,原问题可以简化为: 从\([\lcei ...
- 微信或手机浏览器在线显示office文件(已測试ios、android)
近期开发微信企业号,发现微信andriod版内置浏览器在打开文件方面有问题,可是ios版没有问题.原因是ios版使用的是safari浏览器 支持文档直接打开.可是andriod版使用的是腾讯浏览器x5 ...
- NSThread的一些细节
1.NSThread创建方式(一个NSThread对象就代表一条线程)1.1>创建\启动线程(1)线程一启动,就会在thread中执行self的run方法NSTread *thread = [[ ...
- 它们偷偷干了啥?教你监督APP的运行
由于Android系统的开放性,很多APP都会在后台运行各种我们不知道的权限,不仅泄露我们隐私,也给系统本身带来极大安全隐患.而且现在很普遍的是,在安装APP时它总会索取特别多的权限,又是拍照又是地理 ...