================================================================================

        1.Application:用于保存所有用户共用的数据信息。 在Asp.Net中类似的配置数据最好保存在Web.config文件中。如果使用Application对象,一个需要考虑的问题是任何写操作都要在 Application_OnStart事件(global.asax)中完成。尽管使用Application.Lock和 Application.Unlock方法来避免写操作的同步,但是它串行化了Application对象的请求,当网站访问量大的时候会产生严重的性能 瓶颈。因此最好不要用此对象保存大的数据集。

使用如下:
//存放信息 
Application["UserNameID"]="1000"; 
//读取信息 
String NameID=Application["UserNameID"].ToString();

2.Session:用于保存每个用户的专用信息。Session中的信息保存在Web服务器的内存中,保存的数据量可大可小。当Session超时或被关闭时将自动释放保存的数据信息。对于小量的数据Session对象保存还是一个不错的选择。

使用如下:
//存放信息
Session["UserNameID"]="1000";
//读取信息
String NameID=Session["UserNameID"].ToString();

3.Cookie: 用于保存客户浏览器请求服务器页面的请求信息,其有效期可以人为设置,而且其存储的数据量很受限制,因此不要保存数据集及其他大量数据。而且Cookie以明文方式将数据信息保存在客户端的计算机中,因此最好不要保存敏感的未加密的数据。

使用如下:
//存放信息
Response.Cookie["UserNameID"].Value="1000";
//读取信息
String NameID=Response.Cookie["UserNameID"].Value;

4.ViewState: 常用于保存单个用户的状态信息,可以保存大量的数据但是过多使用会影响应用程序的性能。所有Web服务器控件都使用ViewStat在页面回发期间保存自 己的状态信息。每个控件都有自己的ViewState,不用时最好关闭以节省资源。通过给@Page指令添加"EnableViewState= false"属性可以禁止整个页面的ViewState。

使用如下:
//存取信息
ViewState["UserNameID"]="1000";
//读取信息
string NameID=ViewState["UserNameID"].ToString();

5.Cache:用于在Http请求间保存页面和数据。它允许将频繁访问的大量服务器资源存储在内存中,当用户发出相同的请求时服务器不再次处理而是将Cache中保存的信息返回给用户,节省了服务器处理请求时间。

使用如下
//存放信息
Cache["UserNameID"]="1000";
//存放信息
Cache.Insert("UserNameID","1000");
//读取信息
String UserNameID=Cache["UserNameID"].ToString();

6.隐藏域:Hidden控件属于Html类型的服务器控件,可以实现隐藏域的功能,他和其他的空间没什么区别只是不会在浏览器上显示,始终处于隐藏状态。

使用如下:
//存放信息
Hidden.Value="1000";
//读取信息
String UserNameID=Hidden.Value;

7.查询字符串:将传递的值连接在URL后面,然后通过Response.Redirect方法实现客户端的重定向。

使用如下
Response.Redirect("User.aspx?UserNameID=10000&LevelD=100");
执行上面的语句后在IE地址栏显示的URL的代码如下:
http://localhost/User.aspx?UserNameID=1000&LevelID=100
当跳转到User.aspx后,可以通过下面代码获得传递的信息:
String UserNameID,LevelD;
UserNameID=Request.Params["UserNameID"];
LevelD=Request["LevelD"];

================================================================================

Application

1.         Application用来保存所有用户共用的信息

2.         在Asp时代,如果要保存的数据在应用程序生存期内不会或者很少发生改变,那么使用Application是理想的选择。但是在Asp.net开发环境中我们把类似的配置数据放在Web.config中。

3.         如果要使用Application 要注意的是所有的写操作都要在Application_OnStart事件中完成(global.Asax),尽管可以使用Application.Lock()避免了冲突,但是它串行化了对Application的请求,会产生严重的性能瓶颈。

4.         不要使用Application保存大数据量信息

5.         代码:Application[“UserID”]=”test”;

String UserName=Application[“UserID”].ToString();

Session

1.         Session用来保存每一个用户的专有信息

2.         Session的生存期是用户持续请求时间加上一段时间(一般是20分钟左右)

3.         Session信息是保存在Web服务器内存中的,保存数据量可大可小

4.         Session超时或者被关闭将自动释放数据信息

5.         由于用户停止使用应用程序之后它仍在内存中存留一段时间,因此这种方法效率较低

6.         代码:Session[“UserID”]=”test”;

String UserName=Session[“UserID”].ToString();

Cookie

1.         Cookie用来保存客户浏览器请求服务器页面的请求信息

2.         我们可以存放非敏感的用户信息,保存时间可以根据需要设置

3.         如果没有设置Cookie失效日期,它的生命周期保存到关闭浏览器为止

4.         Cookie对象的Expires属性设置为MinValue表示永不过期

5.         Cookie存储的数据量受限制,大多数的浏览器为4K因此不要存放大数据

6.         由于并非所有的浏览器都支持Cookie,数据将以明文的形式保存在客户端

7.         代码:Resopnse.Cookies[“UserID”]=”test”;

String UserName= Resopnse.Cookies [“UserID”].ToString();

ViewState

1.         ViewState用来保存用户的状态信息,有效期等于页面的生命周期

2.         可以保存大量数据但是要慎用,因为会影响程序性能

3.         所有的Web服务器控件都是用ViewState在页面PostBack期间保存状态

4.         不需要则关闭 @page 里面设置EnableViewState=false

5.         代码:ViewState[”ID”]=”cc”;
   String ID =ViewState[“ID”].ToString();

Cache

1.         Cache用于在Http请求期间保存页面或者数据

2.         Cache的使用可以大大的提高整个应用程序的效率

3.         它允许将频繁访问的服务器资源存储在内存中,当用户发出相同的请求后
服务器不是再次处理而是将Cache中保存的数据直接返回给用户

4.         可以看出Cache节省的是时间—服务器处理时间

5.         Cache实例是每一个应用程序专有的,其生命周期==该应用程序周期
应用程序重启将重新创建其实例

6.         注意:如果要使用缓存的清理、到期管理、依赖项等功能必须使用Insert 或者Add方法方法添加信息

7.         代码:Cache[”ID”]=”cc”;或者Cache.Insert(“ID”,”test”);
   String ID =Cache[“ID”].ToString();

Hidden

1.         Hidden控件属于Html类型的服务器控件,始终处于隐藏状态

2.         每一次提交的时候它会和其他服务器控件一起提交到服务器端

3.         代码如下:Hidden.Value=”cc”;
string id=Hidden.Value; 要使用Runat=server

=================================================================

转自:http://www.blogbus.com/flbh-logs/233204594.html

(转)Application, Session, Cookie, Viewstate, Cache对象用法和区别的更多相关文章

  1. Application,Session,Cookie,ViewState,Cache对象用法、作用域的区别

    1.Application:用于保存所有用户共用的数据信息.在Asp.Net中类似的配置数据最好保存在Web.config文件中.如果使用Application对象,一个需要考虑的问题是任何写操作都要 ...

  2. .NET Application,Session,Cookie,ViewState,Cache对象用法

    作用域 保存地址 生命周期Application 应用程序 服务器内存 IIS启动Session 整个站点 服务器内存 Session到时 默认20分钟Cashe 应用程序 服务器内存 应用程序的周期 ...

  3. Asp.net 服务器Application,Session,Cookie,ViewState和Cache区别

    2.8 Context 的使用Context 对象包含与当前页面相关的信息,提供对整个上下文的访问,包括请求.响应.以及上文中的Session 和Application 等信息.可以使用此对象在网页之 ...

  4. Application,Session,Cookie,ViewState和Cache区别

    在ASP.NET中,有很多种保存信息的内置对象,如:Application,Session,Cookie,ViewState和Cache等.下面分别介绍它们的用法和区别. 方法 信息量大小 作用域和保 ...

  5. ASP.NET Application,Session,Cookie和ViewState等对象用法和区别 (转)

    在ASP.NET中,有很多种保存信息的内置对象,如:Application,Session,Cookie,ViewState和Cache等.下面分别介绍它们的用法和区别. 方法 信息量大小 作用域和保 ...

  6. [区别]APPlication,Session,Cookie,ViewState和Cache

    原文发布时间为:2009-08-01 -- 来源于本人的百度文章 [由搬家工具导入] 在ASP.NET中,有很多种保存信息的对象.例如:APPlication,Session,Cookie,ViewS ...

  7. APPlication,Session,Cookie,ViewState和Cache之间的区别

    1.Application:用于保存所有用户共用的数据信息. 在Asp.Net中类似的配置数据最好保存在Web.config文件中.如果使用Application对象,一个需要考虑的问题是任何写操作都 ...

  8. ASP.NET:Application,Session,Cookie,ViewState和Cache之间的区别(转)

    在ASP.NET中,有很多种保存信息的对象.例如:Application,Session,Cookie,ViewState和Cache等,那么它们有什么区别呢?每一种对象应用的环境是什么? 为了更清楚 ...

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

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

随机推荐

  1. SQL Server 2008中的CTE递归查询得到一棵树

    ROW_NUMBER() OVER()函数用法 with CTE as     (      -->Begin 一个定位点成员       select ID, Name,Parent,cast ...

  2. migrantion

    Enable-Migrations - ConfigurationTypeName namespace.DbContext Enable-Migrations命令创建了一个新的Migrations文件 ...

  3. Linux_(4)Shell编程(下)

    五.shell流程控制1.一重分支if 语句语法格式:if condition then command1 fi末尾的fi就是if倒过来. 写成一行: if condition; then comma ...

  4. 转 java反射详解

    本篇文章依旧采用小例子来说明,因为我始终觉的,案例驱动是最好的,要不然只看理论的话,看了也不懂,不过建议大家在看完文章之后,在回过头去看看理论,会有更好的理解. 下面开始正文. [案例1]通过一个对象 ...

  5. 关于ip包长度

    http://blog.csdn.net/naturebe/article/details/6712153 这篇文章总结的不错,转自:http://hi.baidu.com/to_wait/blog/ ...

  6. invalid END header解决方法

    我在Windows上的eclipse开发了一个java web项目,然后压缩成war包,通过ftp发送到Linux服务器上,Tomcat先shutdown,再startup.按理说,会在webapps ...

  7. RNA-seq流程需要进化啦!

    RNA-seq流程需要进化啦! Posted on 2015年9月25日 Tophat 首次被发表已经是6年前 Cufflinks也是五年前的事情了 Star的比对速度是tophat的50倍,hisa ...

  8. Java的OOP三大特征之一——多态

    OOP(面对对象)三大特征之一——多态 What:多态性是指允许不同类的对象对同一消息作出响应,多态性包括参数化多态性和包含多态性,多态性语言具有灵活.抽象.行为共享.代码共享的优势,很好的解决了应用 ...

  9. QT学习之路(1):彩票绝对不中模拟器

    //============================================//绝对不中,彩票开奖模拟器#include "mainwindow.h"#includ ...

  10. Netty Reator(三)Reactor 模型

    Netty Reator(三)Reactor 模型 Netty 系列目录 (https://www.cnblogs.com/binarylei/p/10117436.html) 本文介绍 DC Sch ...