一.设置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,页面生命周期的更多相关文章

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

    以客户端浏览器向 ASP.NET Web 应用程序页面发送请求(Request)为起点,以浏览器收到 Web 服务器的响应(Response)为终点,这一完整的过程被称为"应用程序及页面的生 ...

  2. 转载ASP.NET 状态管理Application,Session,Cookie和ViewState用法

    转载原地址 http://www.cnblogs.com/cuishao1985/archive/2009/09/24/1573403.html ASP.NET状态管理 APPlication,Ses ...

  3. ASP.NET的Cookie和Session

    HTTP属于应用层,HTTP协议一共有五大特点:1.支持客户/服务器模式;2.简单快速;3.灵活;4.无连接;5.无状态. 无状态HTTP协议是无状态的协议.一旦数据交换完毕,客户端与服务器端的连接就 ...

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

    在之前的三篇文章中,我们还算简明扼要的学习了asp.net的整个生命周期,我们知道了一个Request进来以后先去ISAPI Filter,发现是asp.net程序后又ASPNET_ISAPI.dll ...

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

    为何翻译此文 一.此文是Code Project社区2010年4月ASP.NET板块的最佳文章,说明了此文的份量: 二.锻炼自己的英文技术文章翻译能力,提高英文技术文档阅读能力: 三.了解掌握ASP. ...

  6. ASP.Net请求处理机制初步探索之旅 - Part 4 WebForm页面生命周期

    开篇:上一篇我们了解了所谓的请求处理管道,在众多的事件中微软开放了19个重要的事件给我们,我们可以注入一些自定义的业务逻辑实现应用的个性化设计.本篇,我们来看看WebForm模式下的页面生命周期. ( ...

  7. ASP.NT运行原理和页面生命周期详解及其应用

    ASP.NT运行原理和页面生命周期详解及其应用 1. 下面是我画的一张关于asp.net运行原理和页面生命周期的一张详解图.如果你对具体不太了解,请参照博客园其他帖子.在这里我主要讲解它的实际应用.  ...

  8. ASP.NET编程模型之ASP.NET页面生命周期图解

    ASP.NET编程模型中ASP.NET页面生命周期是指什么呢?它包括什么呢?ASP.NET编程模型之ASP.NET页面生命周期具体的过程有哪些呢?下面就开始我们的讲解吧: ASP.NET 页运行时,此 ...

  9. .net学习笔记---IIS 处理模型及ASP.NET页面生命周期

    本文是基于IIS6的处理模型. 当一个客户端页面访问IIS试图获取一些信息的时候,发生了什么事情?一个请求在通过了HTTP管道后又发生了什么?本文主要是描述这两个过程,即IIS处理asp.net请求和 ...

随机推荐

  1. IOS 杂笔-1(为什么不继承类簇?)

    答:首先,类簇是可以继承的,并不是不可以.例如,我们可以选择继承NSSting,但是此时你用你自己设定的类去调用NSSting的一些方法时,会存在无法实现的问题,这是为什么呢. 1.类簇里有很多私有的 ...

  2. linux 学习随笔-磁盘管理

    1:df 用于查看已挂载磁盘的容量信息 -i 查看inodes使用情况 -h 以合适的单位显示 -k -m 分别以k M单位显示 2:du 查看某个文件或者目录占用的空间 du [-abckmsh] ...

  3. 大家一起和snailren学java-(13)字符串

    “好久没有写这个系列了.其实也有在看,不过觉得一些很基本的都写上来没意思.现在打算的是将整本书看完后,最后整合为一篇blog,筛选出一些平时没有注意到的或者更深入的理解” 在写程序中,字符串Strin ...

  4. 发现一个国内牛逼的maven仓库,速度真的太快了

    前天网上下了一个项目,在公司还好,网络比较流畅,很快就把依赖下好了:回家的时候,想耍耍,结果下了一天也没把依赖下好,速度是几k每秒,甚至一k每秒,哎~心都碎了,网上一搜,结果发现了一个惊天的用nexu ...

  5. apache配置文件参数优化

    1.CentOS5.8 x86_64位 采用最小化安装,系统经过了基本优化篇2.apache版本:httpd-2.2.293.源码包存放位置:/home/oldboy/tools4.源码包编译安装位置 ...

  6. winform 可拖动的自定义Label控件

    效果预览: 实现步骤如下: (1)首先在项目上右击选择:添加->新建项,添加自定义控件 (2)自定义的一个Label让它继承LabelControl控件,LabelControl控件是DevEx ...

  7. andriod fragment调用Activity函数方法

    (1)新增一个activity public MainActivity getMainActivity(); } (2)在MainActivity 的Java文件中增加 getMainActivit公 ...

  8. Eclipse 工程Clear与build的作用

    由于eclipse的编译是基于时间戳的判断机制的.因此当你按build all的时候有些eclipse认为时间戳没有改变的类不会被编译.因此你可以先clean一下再编译.这个时候eclipse会将所有 ...

  9. docker-5 docker仓库

    docker部署环境:CentOS release 6.5 (Final) Docker配置文件:/etc/sysconfig/docker  重要参数解释: -H 表示Docker Daemon绑定 ...

  10. 定时器的应用---中断方式---让8个LED灯,左右各4个来回亮

    定时器的应用---中断方式---让8个LED灯,左右各4个来回亮 /*************************** 中断方式 是主程序专注于其他的事情, 待定时器中断时才执行中断子程序. ** ...