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

时间: 2024-11-05 20:40:38

ASP.NET整理:Cookie,Application,Session,页面生命周期的相关文章

ASP.NET Web 应用程序及页面生命周期

以客户端浏览器向 ASP.NET Web 应用程序页面发送请求(Request)为起点,以浏览器收到 Web 服务器的响应(Response)为终点,这一完整的过程被称为"应用程序及页面的生命周期". ASP.NET Web 页面生命周期开始之前发生了什么? 用户浏览器向 Web 服务器(IIS)发出资源的请求. Web 服务器收到请求,会根据请求文件的扩展名(如 .aspx..ascx..ashx..asmx),指定 ISAPI 扩展来处理该请求,这里提到的扩展名将会由 aspnet

ASP.NET的Cookie和Session

HTTP属于应用层,HTTP协议一共有五大特点:1.支持客户/服务器模式;2.简单快速;3.灵活;4.无连接;5.无状态. 无状态HTTP协议是无状态的协议.一旦数据交换完毕,客户端与服务器端的连接就会关闭,再次交换数据需要建立新的连接.这就意味着服务器无法从连接上跟踪会话.服务器不记的上次给了浏览器什么,否则服务器的压力会太大.每次请求到达asp.net,都创建一个HttpHandler的新对象来处理. public class TestController : Controller { in

【译】ASP.NET应用程序和页面生命周期

为何翻译此文 一.此文是Code Project社区2010年4月ASP.NET板块的最佳文章,说明了此文的份量: 二.锻炼自己的英文技术文章翻译能力,提高英文技术文档阅读能力: 三.了解掌握ASP.NET页面生命周期是非常必要的,这有助于我们更加灵活的控制页面,以我们需要的方式编程开发: 关于原文作者 原文作者:Shivprasad koirala 原文地址:http://www.codeproject.com/Articles/73728/ASP-NET-Application-and-Pa

ASP.NET应用程序生命周期趣谈(四) HttpHandler和页面生命周期

在之前的三篇文章中,我们还算简明扼要的学习了asp.net的整个生命周期,我们知道了一个Request进来以后先去ISAPI Filter,发现是asp.net程序后又ASPNET_ISAPI.dll这个ISAPI Extension来进行处理.在ASPNT_ISAPI创建了Worder Process后,在管道中经过HttpModule的处理来到HttpHander的手中. 我们知道P_Handler程序员使用“乾坤大挪移”对页面进行了处理后又通过管道中的HttpModule把response

cookie和session页面随机数和防止重复提交

http 无状态的协议,每次请求都是独立的我们不能存储第一次访问的数据 Cookie 实现访问请求的数据保存 将服务器中的一小段,存入浏览器中放在浏览器中的cookie中,是存入浏览器中. 优点:减少服务器的压力 缺点:不安全,存储的数据单一,只能为字符串,可以通过路由器获得所有的cookie 1. 添加cookie 2. 获得cookie 3. 解决中文乱码问题 4. 修改cookie的两种方式(cookie为键值对,key值不能重复,或者cookie.setvalues()) 5. 生命周期

ASP.NET页面生命周期与控件生命周期

ASP.NET页面生命周期 (1)PreInit 预初始化(2)Init 初始化(3)InitComplete 初始化完成(4)PreLoad 预加载(5)Load 加载(6)LoadComplete 加载完成(7)PreRender 预输出(8)PreRenderComplete 预输出完成(9)Unload 卸载 ASP.NET控件生命周期 -- 实例化(Instantiate) 控件被页面或另一个控件通过调用它的构造器所实例化.这个步骤之后所列出的阶段,仅当控件加入控件树中才会发生. --

cookie和session的区别,session的生命周期,

这些都是基础知识,不过有必要做深入了解.先简单介绍一下. 二者的定义: 当你在浏览网站的时候,WEB 服务器会先送一小小资料放在你的计算机上,Cookie 会帮你在网站上所打的文字或是一些选择, 都纪录下来.当下次你再光临同一个网站,WEB 服务器会先看看有没有它上次留下的 Cookie 资料,有的话,就会依据 Cookie 里的内容来判断使用者,送出特定的网页内容给你. Cookie 的使用很普遍,许多有提供个人化服务的网站,都是利用 Cookie 来辨认使用者,以方便送出使用者量身定做的内容

ASP.NET应用程序生命周期和ASPX页面生命周期图解

ASP.NET应用程序生命周期和ASPX页面生命周期图解,布布扣,bubuko.com

ASP.NET学习笔记——webform页面生命周期

webform运行原理 运行原理相同点:aspx和ashx运行机制差不多. 运行原理不同点: 1.执行事件管道的时候,在7,8个事件之间创建的是前台页面类对象,那后台类是什么时候创建的呢?由于aspx前台页面继承自后台,所以创建前台页面类时,后台就创建好了. 2.在第11.12事件之间,调用存放在remapHandler中的前台页面类对象的processRequest方法,会进行复杂的处理,也就是走页面生命周期. webform页面生命周期 1.通过反编译,查看前台类代码 前台代码P01Inde