知识大全 详解ASP.NET 状态管理方式优缺点
Posted 状态
篇首语:宿命论是那些缺乏意志力的弱者的借口。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 详解ASP.NET 状态管理方式优缺点相关的知识,希望对你有一定的参考价值。
详解ASP.NET 状态管理方式优缺点 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
现在ASP NET程序员可以使用很多种方式来保存用户请求信息 下面主要介绍ASP NET关于状态管理的几种方式
一般而言 HTTP协议是非状态服务 它不保存任何用户请求信息 直至NetScape开始使用Cookies来保存用户请求信息 Web应用程序有了极大的发展 现在ASP NET程序员可以使用很多种方式来保存用户请求信息
下面主要介绍ASP NET关于状态管理的几种方式
客户端
ASP NET 提供了Cookies QueryStrings (URL) Hidden fields View State and Control state (ASP NET ) 来管理客户端请求
一 Cookie
Cookie是以文本存储于计算机中 使用name value匹配 一般用户存储标识用户信息 如 用户名 用户使用配置等 虽然Cookie可以被加密存储 但不推荐在Cookie中保存用户密码 第二 Cookie的大小是限定的 所以不适合存储大型数据
Example
获取用户ID
if (Request Cookies[ UserId ] != null) lbMessage text = Dear + Request Cookies[ UserId ] Value + Wele to our website! ; else lbMessage text = Guest wele to our website! ;
设置Cookie
Response Cookies[ UserId ] Value=username;
优点
使用简单
缺点
客户端可以禁用Cookie
Cookie在每次请求或发送时都会被加载 影响传输
易被攻破 所有不适合存储安全信息
二 Hidden fields(隐藏控件)
Hidden field是在页面级保存信息 与其他用户标准控件的区别是 Hidden Field不被呈现在页面中 当页面提交的时候 Hidden Field中的值将被一同发送给服务端 虽有在ASP NET 中 我们可以使用ViewState来代替 但Hidden Fields依然可以用来存放一些不关键信息
protected System Web UI HtmlControls HtmlInputHidden Hidden ; //to assign a value to Hidden field Hidden Value= Create hidden fields ; //to retrieve a value string str=Hidden Value;
优点
使用简单
可以存储少量数据
缺点
不安全 以明文的形式直接从网络传输
三 View State(状态视图)
状态视图ViewSate 可以用来为单独用户存储信息 你可以通过设置EnableViewState属性来控制ViewState的使用 在默认的情况下属性值为True ViewSate在每次用户请求或服务端响应时 都会被传输 所以 为了减少网络带宽的使用 可以在不需要状态视图时设置EnableViewState属性值为False ViewSate在页面中的存储是经过Base 转码的 增加了额外的数据量 所以一定要注意保存较少的ViewSate
// Add item to ViewState ViewState[ myviewstate ] = myValue; //Reading items from ViewState Response Write(ViewState[ myviewstate ]);
优点
操作简单
被加密
可以在控件级别使用
缺点
加密编码增加了页面的大小
增价了网络传输
四 Query strings
Query String常用于页面传值 很多浏览器都会有长度限制 一般在 个字节 值得注意的是 尽量使用Server UrlEncode 来避免一些意外情况 如Sql注入
string productid;productid=Request Params[ productid ]
服务端
一 Application
Application在整个应用程序都是可见的 所有用户分享同一个Application 在ASP中 常用来存放链接字符串
Application Lock(); Application[ mydata ]= mydata ; Application UnLock();
二 Session
Session为每个用户单独存储用户信息 Session有三种存放方式 inproc sqlserver stateserver
InProc 数据保存在服务端进程中 由于目前有 M的内存限制 可以导致进程重启 而失去所有的状态信息
SqlServer 存放与数据库之中 用户状态可以永久保留
StateServer 存放与另一台状态服务器中
Session[ UserId ]= UserId ; string UserId = Session[ UserId ] ToString();
cha138/Article/program/net/201311/11294相关参考
详解ASP.NET的四种状态 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 这些状态的原理对于做
ASP.NET中的状态管理 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 我们在ASP中能够通过
ASP.Net状态管理的四种状态类型 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Applic
ASP.NET创建Web服务之管理Web服务状态 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
cha138/Article/program/net/201311/14192
ASP.NET图象处理详解[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在使用ASP的时
ASP.NETSession详解 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 阅读本文章前需要
ASP.NET图象处理详解[4] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!<%@PageLan
ASP.NET图象处理详解(1) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &nbs
ASP.NET图象处理详解(2) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &nbs