知识大全 详解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的四种状态

详解ASP.NET的四种状态  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  这些状态的原理对于做

知识大全 ASP.NET中的状态管理

ASP.NET中的状态管理  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  我们在ASP中能够通过

知识大全 ASP.Net状态管理的四种状态类型

ASP.Net状态管理的四种状态类型  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Applic

知识大全 ASP.NET创建Web服务之管理Web服务状态

ASP.NET创建Web服务之管理Web服务状态  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 asp.net运行原理详解

cha138/Article/program/net/201311/14192

知识大全 ASP.NET图象处理详解[1]

ASP.NET图象处理详解[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在使用ASP的时

知识大全 ASP.NET Session 详解

ASP.NETSession详解  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  阅读本文章前需要

知识大全 ASP.NET图象处理详解[4]

ASP.NET图象处理详解[4]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!<%@PageLan

知识大全 ASP.NET图象处理详解(1)

ASP.NET图象处理详解(1)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &nbs

知识大全 ASP.NET图象处理详解(2)

ASP.NET图象处理详解(2)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &nbs