zoukankan      html  css  js  c++  java
  • Application、Session、Cookie、Viewstate, Cache对象用法和差别

     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

  • 相关阅读:
    Centos7 安装 mysql5.7
    python正则表达式---七七八八
    爬虫之英雄联盟
    爬虫之User-Agent
    爬虫之证书错误
    ubuntu windows双系统 删除Ubuntu后windows系统引导修复
    ubuntu系統桌面重置
    ubuntu安装qtcreator
    win10/ubuntu双系统----ubuntu有线无线都不能上网
    pyenv 安装
  • 原文地址:https://www.cnblogs.com/double2012/p/2759931.html
Copyright © 2011-2022 走看看