ASP.NET保存信息总结(Application、Session、Cookie、ViewState和Cache等)

来源:互联网 发布:玉米基因组数据库 编辑:程序博客网 时间:2024/05/27 00:44
    1.Application对象
    Application用于保存所有效户的公共的数据信息,若是应用Application对象,一个须要推敲的题目是任何写操纵都要在 Application_OnStart事务(global.asax)中完成.尽管应用Application.Lock和 Applicaiton.Unlock办法来避免写操纵的同步,然则它串行化了对Application对象的恳求,当网站接见量大的时辰会产生严重的性 能瓶颈.是以最好不要用此对象保存大的数据凑集.
       2.Session对象
    Session用于保存每个用户的专用信息.她的生活生计期是用户连气儿恳求时候再加上一段时候(一般是20分钟阁下).S
ession中的信息保存在Web办事器内容中,保存的数据量可大可小.当Session超时或被封闭时将主动开释保存的数据信息.因为用户停止应用应用 法度后它仍然在内存中对峙一段时候,是以应用Session对象使保存用户数据的办法效力很低.对于小量的数据,应用Session对象保存还是一个不错 的选择.应用Session对象保存信息的代码如下:

 


//存放信息
Session["username"]="zhouhuan";
//读取数据
string UserName=Session["username"].ToString();

    3.Cookie对象
    Cookie用于保存客户浏览器恳求办事器页面的恳求信息,法度员也可以用它存放非敏感性的用户信息,信息保存的时候可以按照须要设置.若是没有设置 Cookie失效日期,它们仅保存到封闭浏览器法度为止.若是将Cookie对象的Expires属性设置为Minvalue,则默示Cookie永远不 会过期.Cookie存储的数据量很受限制,大多半浏览器支撑最大容量为4096,是以不要用来保存数据集及其他多量数据.因为并非所有的浏览器都支撑 Cookie,并且数据信息是以明文文本的情势保存在客户端的策画机中,是以最好不要保存敏感的,未加密的数据,不然会影响网站的安然性.应用 Cookie对象保存的代码如下:


//存放信息
Response.Cookies["UserID"].Value="0001";
//读取信息
string UserID=Response.Cookies["UserID"].Value;

    4.ViewState对象
    ViewState 常用于保存单个用户的状况信息,有效期便是页面的生活生计期。ViewState容器可以对峙多量的数据,然则必须谨慎应用,因为过多应用会影响应用法度的性 能。所有Web办事器控件都应用ViewState在页面回发期音保存本身的状况信息。若是某个控件不须要在回发时代保存状况信息,最好封闭该对象的 ViewState,避免不须要的资料浪费。经由过程给@Page指令添加“EnableViewState=false”属性可以禁止全部页面的 ViewState。应用ViewState对象保存信息的代码如下。


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

5.Cache对象
    Cache对象用于在HTTP恳求间保存页面或数据。该对象的应用可以极大地进步全部应用法度的效力。它容许将频繁接见的多量办事器资料存储在内存 中,当用户发出雷同的恳求后办事器不再次处理惩罚而是将Cache中保存的信息返回给用户,节俭了办事器处理惩罚恳求的时候。此对象的实例是每个应用法度专用的, 其生活生计期依附于该应用法度的生活生计期。当从头启动应用法度时,将从头创建其Cache对象的实例。应用Cache对象保存信息的代码如下。


  //存放信息
   Cache["nameID"]="0001";
  
//存放信息
   Cache.Insert("nameID""0001"1);
  
//读取信息
  string NameID=Cache["nameID"].ToString();

   6.隐蔽域
Hidden控件是属于HTML类型的办事器控件,应用此控件可以实现隐蔽域的功能。其实此控件和其它办事器控件的应用没有太大差别,只是它不会在用户端 的浏览器中显示,始终处于隐蔽状况。然则每次页面提交的时辰,此控件和其它办事器控件一同提交到办事器端,是以在办事器端可以应用Value属性获取或保 存一些数据信息。应用Hidden控件保存信息的代码如下。


  //存放信息
  
Hidden.Value="0001";
  
//获取信息
  
string NameID=Hidden.Value;

7.查询字符串
查询字符串的体式格式是将要传递的值连接在URL后面,然后经由过程Response.Redirect办法实现客户端的重定向。这种体式格式可以实如今两个页面之间传递信息。因为URL的长度有必然的限制,是以不克不及传递太大的信息,加外安然性也不是很好。
传递信息如下。


   Response.Redirect("List.aspx?nameID=0001&gradeID=002");
  
//履行上方的语句后在IE地址栏显示的URL的代码如下。
   http://localhost/List.aspx?nameID=0001&grade=002
  
//当跳转到List.aspx后,可以经由过程以下代码获得所传递的信息。
  string NameID.GradeID;
   NameID
=Request.Params["nameID"];
   GradeID
=Request.Params["gradeID"];

      除了以上介绍的几种对象外,还可以应用Context对象和Web.Config设备文件。