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

    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设备文件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值