ASP.NET整理:Cookie,Application,Session,页面生命周期
一.设置Cookie的2种方式
1. Repsonse.Cookie[“名”] = 值;
2. HttpCookie hcCookie = new HttpCookie(“名”,值);
hcCookie.Expires = Date.Now.AddDays(1);这里可以增加月
Response.Cookies.Add(hcCookie);
从Cookie中取值:
string str = Response.Cookies[“名”].Value;
注意:
1.Cookie若没指定时间,则默认为到浏览器关闭为止,设为MaxValue则表示永不过期.
2.另外Cookie中只能存字符串,即Response.Cookie[“Quantity”] = 15;是错误的,只能”15”.
二.如何接受URL中参数
Request.QueryString[“URL参数后变量名”];
Request.Form[“URL参数后名”]
C#中没有类似于JAVA中的转发功能,没法传对象,要想传对象只能放在session中,或者viewstate页面状态保持中
三.ASP.NET页面的生命周期:
A.初始化
B.加载实例:PostBack--ViewState--<%@ Page .....%>//这个每个页面只能出现一次
C.服务器控件验证
D.控件事件
E.Render渲染显示
F.卸载
一般一些敏感类数据:用户名、密码、权限等存在session中,而用户上一次登录的时间存放在cookie中
四.Session相关
获得sessionId:Session.SessionID
∵SessionID是保存在Cookies中的,而Cookies是可被禁用掉的
∴可采用:URL重写技术,将SessionID附加到URL中;使用表单隐藏技术,服务器将SessionID以隐藏字段的方式添加到表单中。
1.Session语法:
Session[“名”] = 值; //注意这里没有Value属性,跟Cookie区别
2.获取:
变量 = Session[“名”];
3.特征:
session一旦过期,Server即刻清除Session对象,释放所占资源
4.属性:
Timeout:设置超时时间,单位:分;
5.方法:
Clear():从会话状态集合中清除所有键和值(清空值,内存中保留空间)
Abandon():结束Session,取消当前会话(安全退出功能),因为优先级较低,在当前页面执行完成过以后才执行,这也是为什么“安全退出”按钮点击后页面会跳转一下。
f.Session在配置文件中的一些设置:
<system.web>
<sessionState timeout=”20” cookieless=”true” mode=”SQLServer”></sessionState>
</system.web>
6.Session中可以存放对象:
User user = new User();
user.ID = 1;
userName = “Tom”;
Session[“userInfo”] = user;
可根据session知否为空来进行判断--->用于访问控制
if(Session[“userInfo”]==null)
{
Response.Redirect(“index.aspx”);
}
else
{
If(!Page.IsPostBack)
{
//...欢迎致辞等
}
读取session中的对象:User user = Session[“userInfo”] as User;
五.Application相关
赋值:
Application["名"] = 值;
取值:
变量 = Application["名"]; //Application中存储的都是Object类型,取的时候需转型
Global.asax文件:全局应用程序类
Application包含5个事件
Application_Start
Application_End
Application_Error
Session_Start
Session_End
使用Application的时候需要进行Lock()操作,eg:
统计人数功能,在Application_Start事件中:
Application.Lock();
Application["count"] = 0;
Application.Unlock();
在Session_Start中实现自增:
Application.Lock();
Application["count"]= (int)Application["count"]+1; //需类型转换;
Application.Unlock();
六.Request和Server属性
浏览器类型:Request.Browser.Browser
浏览器版本:Request.Browser.Version
客户端操作系统版本:Rquest.Browser.PlatForm
客户端IP地址:Request.UserHostAddress
客户端主机名:Request.UserHostName
服务器名称:Server.MachineName
服务器根目录:Server.MapPath
ASP.NET整理:Cookie,Application,Session,页面生命周期的更多相关文章
- ASP.NET Web 应用程序及页面生命周期
以客户端浏览器向 ASP.NET Web 应用程序页面发送请求(Request)为起点,以浏览器收到 Web 服务器的响应(Response)为终点,这一完整的过程被称为"应用程序及页面的生 ...
- 转载ASP.NET 状态管理Application,Session,Cookie和ViewState用法
转载原地址 http://www.cnblogs.com/cuishao1985/archive/2009/09/24/1573403.html ASP.NET状态管理 APPlication,Ses ...
- ASP.NET的Cookie和Session
HTTP属于应用层,HTTP协议一共有五大特点:1.支持客户/服务器模式;2.简单快速;3.灵活;4.无连接;5.无状态. 无状态HTTP协议是无状态的协议.一旦数据交换完毕,客户端与服务器端的连接就 ...
- [转]ASP.NET应用程序生命周期趣谈(四) HttpHandler和页面生命周期
在之前的三篇文章中,我们还算简明扼要的学习了asp.net的整个生命周期,我们知道了一个Request进来以后先去ISAPI Filter,发现是asp.net程序后又ASPNET_ISAPI.dll ...
- 【译】ASP.NET应用程序和页面生命周期
为何翻译此文 一.此文是Code Project社区2010年4月ASP.NET板块的最佳文章,说明了此文的份量: 二.锻炼自己的英文技术文章翻译能力,提高英文技术文档阅读能力: 三.了解掌握ASP. ...
- ASP.Net请求处理机制初步探索之旅 - Part 4 WebForm页面生命周期
开篇:上一篇我们了解了所谓的请求处理管道,在众多的事件中微软开放了19个重要的事件给我们,我们可以注入一些自定义的业务逻辑实现应用的个性化设计.本篇,我们来看看WebForm模式下的页面生命周期. ( ...
- ASP.NT运行原理和页面生命周期详解及其应用
ASP.NT运行原理和页面生命周期详解及其应用 1. 下面是我画的一张关于asp.net运行原理和页面生命周期的一张详解图.如果你对具体不太了解,请参照博客园其他帖子.在这里我主要讲解它的实际应用. ...
- ASP.NET编程模型之ASP.NET页面生命周期图解
ASP.NET编程模型中ASP.NET页面生命周期是指什么呢?它包括什么呢?ASP.NET编程模型之ASP.NET页面生命周期具体的过程有哪些呢?下面就开始我们的讲解吧: ASP.NET 页运行时,此 ...
- .net学习笔记---IIS 处理模型及ASP.NET页面生命周期
本文是基于IIS6的处理模型. 当一个客户端页面访问IIS试图获取一些信息的时候,发生了什么事情?一个请求在通过了HTTP管道后又发生了什么?本文主要是描述这两个过程,即IIS处理asp.net请求和 ...
随机推荐
- .NET 多语言支持解决方案(转)
asp.net 2.0中的App_GlobalResources可以用来解决本地化的问题,程序会根据浏览器的语言首选项自动判断显示出本地化的界面. 首先在App_GlobalResources新建re ...
- #VSTS定制#全新的模版定制能力
在应用生命周期管理(ALM)领域中,存在各种不同的管理模型,如:传统的瀑布(waterfall)模型,CMMI模型以及最近一些年开始流行的敏捷模型,Scrum模型,kanban等等.每个不同的管理模型 ...
- (视频) 《快速创建网站》 2.3 WordPress初始化和功能简介
本文是<快速创建网站>系列的第4篇,如果你还没有看过之前的内容,建议你点击以下目录中的章节先阅读其他内容再回到本文. 访问本系列目录,请点击:http://devopshub.cn/tag ...
- MongoDB Shard部署及Tag的使用
Shard部署 准备测试环境 为准备数据文件夹 Cd /home/tiansign/fanr/mongodb/Shard mkdir configdb1 configdb2 configdb3 mk ...
- Spring中@Autowired注解、@Resource注解的区别
Spring不但支持自己定义的@Autowired注解,还支持几个由JSR-250规范定义的注解,它们分别是@Resource.@PostConstruct以及@PreDestroy. @Resour ...
- java自定义Annotation(载自百度文库)
java中自定义annotation需要@interface关键字和用到几个内置annotation. 用到的注解有@Target,@Retention,@Documented,@Inherited ...
- SQLServer 数据修复命令DBCC一览
1. DBCC CHECKDB 重启服务器后,在没有进行任何操作的情况下,在SQL查询分析器中执行以下SQL进行数据库的修复,修复数据库存在的一致性错误与分配错误. use master decla ...
- java容器(java编程思想第四版-读书笔记)
容器类库图 List(interface) 次序是List最重要的特点:它保证维护元素特定的顺序.List为Collection添加了许多方法,使得能够向List中间插入与移除元素.(这只推荐L ...
- df,du,mount
df 查看当前系统中文件系统的使用情况 $df [-aTh]缺省选项查看当前系统的所有文件系统 -a列出所有的信息 -T列出文件系统类型 -hhuman-readable,用合适的单位表示大小 $df ...
- Spring AOP 开发中遇到问题:Caused by: java.lang.IllegalArgumentException: warning no match for this type name: com.xxx.collector.service.impl.XxxServiceImpl [Xlint:invalidAbsoluteTypeName]
在网上找了很多,都不是我想要的,后来发现是我在springaop注解的时候 写错了类名导致的这个问题 @Pointcut("execution(* com.xxx.collector.ser ...