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 字 ...
随机推荐
- CMAKE的使用
CMAKE的使用 Version 1.0 2009-3-18 一. 基本使用 安装:下载二进制包后可直接解压使用 从源码安装则执行命令:./bootstrap; make; make ins ...
- PAD会取代PC吗
公司上了新的内部管理系统,上线一片混乱,群里也很热闹,从系统是否应该支持pad谈起 ,有技术大佬说5年内就是pad时代了,pad将完全取代pc.我不知道大佬从何得出这个结论,有和数据支撑.我的观点是, ...
- 高级UIKit-03(NSFileManager、NSFileHandle)
fileManager文件管理器 [day04_1_FileManager_Search] :查找文件 fileManager有一个方法可以判断文件是否是文件夹, fileExistsAtPath:i ...
- C++静态库中使用_declspec(dllexport) 不能导出函数的问题
在某项目中,有一些静态库,这些静态库中有类型命名的函数GET_XXX.在一次项目结构调整的时候,我想将调用这静态库的代码编译成DLL,并且将这些Get函数导出,我就直接就这些函数前面添加了_decls ...
- 使用Spring标签库
A.Spring标签库 Web项目若使用Spring Web MVC并使用JSP作为表现的话.从Spring2.0版本开始提供一套标签库可供使用. 使用标签库无非是易于开发,维护之类云云.这里就不阐述 ...
- Java网络编程:利用apache的HttpClient包进行http操作
本文介绍如何利用apache的HttpClient包进行http操作,包括get操作和post操作. 一.下面的代码是对HttpClient包的封装,以便于更好的编写应用代码. import java ...
- C++界面库
刚开始用C++做界面的时候,根本不知道怎么用简陋的MFC控件做出比较美观的界面,后来就开始逐渐接触到BCG Xtreme ToolkitPro v15.0.1,Skin++,等界面库,以及一些网友自 ...
- api 跳转规则
api 配置: <Context docBase="zjzc-web-api" path="/api" reloadable="false&qu ...
- ios开发问题:添加库和复制其它工程文件编译错误问题
首先添加库问题: 选择页签Build Phases->Link Binary With Libraries点+添加库 然后command+shift+k清除历史debug的垃圾 复制其它工程文件 ...
- DFS深搜——Red and Black——A Knight's Journey
深搜,从一点向各处搜找到全部能走的地方. Problem Description There is a rectangular room, covered with square tiles. Eac ...