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

  Application["nameID"]="0001";
  //读取信息
  String
NameID=Application["nameID"].ToString();

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

  使用如下:
  //存放信息
  Session["nameID"]="0001";
  //读取信息

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

  使用如下:
  //存放信息
  Response.Cookie["nameID"].Value="0001";

  //读取信息
  String NameID=Response.Cookie["nameID"].Value;

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

  ViewState["nameID"]="0001";
  //读取信息
  string
NameID=ViewState["nameID"].ToString();

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

  使用如下:
  //存放信息
  Cache["nameID"]="0001";
  //存放信息

  Cache.Insert("nameID","0001");
  //读取信息
  String
NameID=Cache["nameID"].ToString();
  注意:
如果利用缓存提供的清理、到期时间和依赖项等功能,必须使用Cache.Insert方法或Cache.Add方法添加信息。

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

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

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

  Response.Redirect("List.aspx?nameID=0001&gradeID=002");

  执行上面的语句后在IE地址栏显示的URL的代码如下:

  http://localhost/List.aspx?nameID=0001&gradeID=002

  当跳转到List.aspx后,可以通过下面代码获得传递的信息:
  String NameID,GradeID;

  NameID=Request.Params["nameID"];
  GradeID=Request["gradeID"];

  通过比较总结的每一种对象应用的具体环境:
  方法 信息量大小 保存时间 应用范围 保存位置
  Application 任意大小
整个应用程序的生命周期 所有用户 服务器段
  Session 小量,简单的数据 用户活动时间+一般延迟时间(一般为20分钟) 单个用户 服务器段

  Cookie 小量,简单的数据 可以根据需要设定 单个用户 客户端
  Viewstate 小量,简单的数据 一个Web页面的生存周期
单个用户 客户端
  Cache 任意大小 可以根据需要设定 所有用户 服务器段
  隐藏域 小量,简单的数据 一个Web页面的生存周期
单个用户 客户端
  查询字符串 小量,简单的数据 直到下次页面跳转请求 单个用户 客户端
  web.config文件
不变或极少改变的小量数据 直到配置文件被更新 所有用户

APPlication,Session,Cookie,ViewState和Cache之间的区别的更多相关文章

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

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

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

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

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

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

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

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

  5. (转)Application, Session, Cookie, Viewstate, Cache对象用法和区别

    ================================================================================         1.Applicati ...

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

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

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

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

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

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

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

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

随机推荐

  1. hadoop源码导入eclipse

    1,下载hadoop源码 下载链接 http://svn.apache.org/repos/asf/hadoop/common/tags/release-2.2.0/   为2.2.0的源码, 也可以 ...

  2. HDU-4631 Sad Love Story 平面最近点对

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4631 数据是随机的,没有极端数据,所以可以分段考虑,最小值是一个单调不增的函数,然后每次分治算平面最近 ...

  3. Install PhoneGap

    To Install, ensure that you have NodeJS installed, then open your commandline and run the following: ...

  4. UITextView详解

    self.textView = [[[UITextView alloc] initWithFrame:self.view.frame] autorelease]; //初始化大小并自动释放   sel ...

  5. SHH入门:Spring框架简介

    (1)Spring 七大模块 核心容器:核心容器提供Spring 框架的基本功能.核心容器的主要组件是 BeanFactory,它是工厂模式的实现.BeanFactory 使用控制反转 (IOC) 模 ...

  6. Javascript注意事项二【避免误用parseInt】

    parseInt("123abc"); //123parseInt("1.73"); //1parseInt(".123"); //NaN ...

  7. CMD-NET命令详解(转载)

    本文转自http://www.cnblogs.com/chenjq0717/archive/2010/05/09/1730934.html net命令大全,net命令用法,net网络命令,net命令使 ...

  8. (Relax DFS专题1.2)POJ 2386 Lake Counting(使用DFS来计算有多少坨东西是连通的)

    题目大意:有N*M的矩阵稻田,'W'表示有积水的地方, '.'表示是干旱的地方,问稻田内一共有多少块积水,根据样例很容易得出,积水是8个方向任一方向相连即可. 题目大意:有N*M的矩阵稻田,'W'表示 ...

  9. ECshop数据库的访问统计和管理员日志的清空

    ECshop是个不错的系统,但是它有一定漏洞,若是访问量巨大的话,大量的访问统计代码会存入数据库的ecs_stats表中,甚至几天就可以达到几百兆,严重的网站直接就崩溃了.数据备份的时候也有很多不便, ...

  10. Runtime 10种用法

    来源:haojingxue_iOS 链接:http://www.jianshu.com/p/3182646001d1 阅读了多篇运行时的文章,感觉都很不错,从几篇文章里面提取一些个人认为比较重要的,偏 ...