您的位置:首页 > 移动开发

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

2012-12-27 10:42 483 查看
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设备文件。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐