沈阳电脑维修网,沈阳上门维修电脑服务
当前位置: 主页 > 沈阳网站建设>编程高手 ASP.NET 状态管理 >

编程高手 ASP.NET 状态管理

时间:2009-12-3来源:www.sypcwx.cn 作者: 沈阳网站建设点击:
沈阳电脑维修,上门维修电脑
一般而言,HTTP协议是非状态服务,它不保存任何用户请求信息。直至NetScape开始使用Cookies来保存用户请求信息,Web应用程序有了极大的发展。现在ASP.NET程序员可以使用很多种方式来保存用户请求信息。 下面主要介绍ASP.NET关于状态管理的几种方式。 客户端 ASP.NET,提供了Cookies,QueryStrings(URL),Hiddenfields,ViewStateandControlstate(ASP.NET2.0),来管理客户端请求。 一。Cookie Cookie是以文本存储于计算机中,使用name-value匹配。一般用户存储标识用户信息,如:用户名,用户使用配置等。虽然Cookie可以被加密存储,但不推荐在Cookie中保存用户密码。第二,Cookie的大小是限定的,所以不适合存储大型数据。 Example: 1。获取用户ID if(Request.Cookies["UserId"]!=null) lbMessage.text="Dear"+Request.Cookies["UserId"].Value+",Welcometoourwebsite!"; else lbMessage.text="Guest,welcometoourwebsite!"; 2。设置Cookie Response.Cookies["UserId"].Value=username; 优点: 使用简单 缺点: 1。客户端可以禁用Cookie 2。Cookie在每次请求或发送时都会被加载,影响传输。 3。易被攻破,所有不适合存储安全信息。 二。Hiddenfields(隐藏控件) Hiddenfield是在页面级保存信息。与其他用户标准控件的区别是,HiddenField不被呈现在页面中。当页面提交的时候,HiddenField中的值将被一同发送给服务端。虽有在ASP.NET2.0中,我们可以使用ViewState来代替,但HiddenFields依然可以用来存放一些不关键信息。 protectedSystem.Web.UI.HtmlControls.HtmlInputHiddenHidden1; //toassignavaluetoHiddenfield Hidden1.Value="Createhiddenfields"; //toretrieveavalue stringstr=Hidden1.Value; 优点: 1。使用简单 2。可以存储少量数据 缺点: 1。不安全,以明文的形式直接从网络传输 三。ViewState(状态视图) 状态视图ViewSate,可以用来为单独用户存储信息。你可以通过设置EnableViewState属性来控制ViewState的使用,在默认的情况下属性值为True。ViewSate在每次用户请求或服务端响应时,都会被传输。所以,为了减少网络带宽的使用,可以在不需要状态视图时设置EnableViewState属性值为False。ViewSate在页面中的存储是经过Base64转码的,增加了额外的数据量,所以一定要注意保存较少的ViewSate。 //AdditemtoViewState ViewState["myviewstate"]=myValue; //ReadingitemsfromViewState Response.Write(ViewState["myviewstate"]); 优点: 操作简单 被加密 可以在控件级别使用 缺点: 加密编码增加了页面的大小 增价了网络传输 四:Querystrings QueryString常用于页面传值。很多浏览器都会有长度限制,一般在255个字节。值得注意的是,尽量使用Server.UrlEncode,来避免一些意外情况,如Sql注入。 stringproductid; productid=Request.Params["productid"] 服务端 一。Application Application在整个应用程序都是可见的,所有用户分享同一个Application。在ASP中,常用来存放链接字符串。 Application.Lock(); Application["mydata"]="mydata"; Application.UnLock(); 二。Session Session为每个用户单独存储用户信息。Session有三种存放方式。"inproc","sqlserver","stateserver。 InProc,数据保存在服务端进程中。由于目前有600M的内存限制,可以导致进程重启,而失去所有的状态信息。 SqlServer,存放与数据库之中,用户状态可以永久保留。 StateServer,存放与另一台状态服务器中。 Session["UserId"]="UserId"; stringUserId=Session["UserId"].ToString();  
上一篇:※沈阳电脑维修※汇编语言超浓缩教程
下一篇:怎样自制打印机驱动程序安装盘
查看[编程高手 ASP.NET 状态管理 ]所有评论
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:
关于我们 服务价格 联系我们 企业网站优化 沈阳网站建设 沈阳维修电脑