ASP.NET客户端状态管理方式的优缺点

一般而言,HTTP协议是非状态服务,它不保存任何用户请求信息。直至NetScape开始使用Cookies来保存用户请求信息,Web应用程序有了极大的发展。现在ASP.NET程序员可以使用很多种方式来保存用户请求信息。

下面主要介绍ASP.NET关于客户端状态管理的几种方式。

ASP.NET,提供了Cookies, QueryStrings (URL), Hidden fields, View State and Control state (ASP.NET 2.0),来管理客户端请求。

一、Cookie

Cookie是以文本存储于计算机中,使用name-value匹配。一般用户存储标识用户信息,如:用户名,用户使用配置等。虽然Cookie可以被加密存储,但不推荐在Cookie中保存用户密码。第二,Cookie的大小是限定的,所以不适合存储大型数据。

Example:

1、获取用户ID

if (Request.Cookies["UserId"] != null)
lbMessage.text = "Dear" + Request.Cookies["UserId"].Value + ", Welcome to our website!";
else
lbMessage.text = "Guest,welcome to our website!";

2、设置Cookie

Response.Cookies["UserId"].Value=username;

优点:

使用简单

缺点:

1、客户端可以禁用Cookie

2、Cookie在每次请求或发送时都会被加载,影响传输。

3、易被攻破,所有不适合存储安全信息。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索cookie
, 存储
, 客户端
, 用户
, cookies
信息
,以便于您获取更多的相关知识。

时间: 2024-11-02 05:55:06

ASP.NET客户端状态管理方式的优缺点的相关文章

Asp.Net的状态管理:Session、Application和Cache

上篇博文介绍了在客户端状态管理的两种方式:http://www.cnblogs.com/wolf-sun/p/3329773.html.除了在客户端上保存状态外,还可以在服务器上保存状态.使用客户端的状态,其缺点在于增加了数据在网络之间的传送.使用服务器端状态的缺点在于,服务器必须给客户端分配资源,下面详细讨论服务器端的状态管理技术. 服务器端的状态管理 Session 会话状态与浏览器会话相关.客户在服务器上第一次打开Asp.Net页面时,会话就开始了.当客户在20分钟之内没有访问服务器,会话

ASP.NET的状态管理

状态时某一类型的数据在一定时期内保持活跃的信息.这里说的一定时期可以使整个应用程序的生命周期,可以使用户操作程序的时间,当然也可以是单个页面的生命周期等.  为了解决传统Web编程中固有的限制,ASP.NET提供了按页面保留数据和在整个应用程序范围内保留数据的功能,这些具体功能如下:(其中1到5是以不同方式将数据存储到客户端上,6到8是将数据存储到服务器上的内存中) 一.视图状态 ViewState属性提供一个字典对象,用于在对同一页的多个请求之间保留值.它是页用来在往返行程之间保留页和控件属性

一起谈.NET技术,ASP.NET的状态管理

状态时某一类型的数据在一定时期内保持活跃的信息.这里说的一定时期可以使整个应用程序的生命周期,可以使用户操作程序的时间,当然也可以是单个页面的生命周期等.  为了解决传统Web编程中固有的限制,ASP.NET提供了按页面保留数据和在整个应用程序范围内保留数据的功能,这些具体功能如下:(其中1到5是以不同方式将数据存储到客户端上,6到8是将数据存储到服务器上的内存中) 一.视图状态 ViewState属性提供一个字典对象,用于在对同一页的多个请求之间保留值.它是页用来在往返行程之间保留页和控件属性

ASP.NET 的状态管理

asp.net web Form 网页是基于HTTP的,它们没有状态, 这意味着它们不知道所有的请求是否来自同一台客户端计算机,网页是受到了破坏,以及是否得到了刷新,这样就可能造成信息的丢失. 于是, 状态管理就成了开发网络应用程序的一个实实在在的问题.    在ASP中能够通过Cookie .查询字符串. 应用程序.会话(Session) 等轻易解决这些问题.现在在ASP.NET环境中,我们依然可以使用这些功能,并且功能更加强大.  状态管理分为服务端和客户端两种情况, 这里只是介绍 服务端状

Asp.Net的状态管理:ViewState和Cookie

简介 HTTP协议是无状态的.从客户端到服务器的连接可以在每个请求之后关闭.但是一般需要把一些客户端信息从一个页面传送给另一个页面. 无状态的根本原因是:浏览器和服务器使用Socket通信,服务器将请求结果返回给浏览器后,会关闭当前Socket连接.而且服务器会在处理页面完毕后销毁页面对象. 应用层面的原因是:浏览器和服务器之间通信都遵守HTTP协议. Http协议是无状态的,不会记得上次和网页"发生了什么.服务器不记得上次给了浏览器什么. 对网站造成的影响:如果用户录入了一些信息,当跳转到下一

asp.net页面状态管理cookie和服务器状态管理Session

Cookie:是存储在客户端文件系统的文本文件中或客户端浏览器对话的客户端浏览器对话的内存中的少量的数据.当我们在访问一个网站网页,当用户请求该网页时,应用程序会首先检查用户在此前是否已经登录过,我们可以通过读取Cookie获取用户信息来判断是否让它继续访问 记录Cookie信息 创建一个名称是user的Cookie对象:HttpCookie cookie=new HttpCookie("user"); 给Cookie赋值,只能使用字符串赋值:cookie.Value="ch

ASP.NET状态管理之十三(总结)

状态管理是您对同一页或不同页的多个请求维护状态和页信息的过程.与所有基于 HTTP 的技术一样,Web 窗体页是无状态的,这意味着它们不自动指示序列中的请求是否全部来自相同的客户端,或者单个浏览器实例是否一直在查看页或站点.此外,到服务器的每一往返过程都将销毁并重新创建页:因此,如果超出了单个页的生命周期,页信息将不存在. ASP.NET 提供多种方式来在服务器往返过程之间维护状态.对这些状态管理选项的选择主要取决于您的应用程序,并且应基于以下条件: 需要存储的信息量有多大? 客户端是接受持久性

ASP.NET 中 Session 实现原理浅析 [2] 状态管理器

asp.net|session 状态管理本来是一件很美好的事情,嘿嘿,只可惜总是有些厂商在实现的时候考虑得不那么周全.例如 MS 在 ASP 中的状态管理实现就比较烂,因为只实现了一个进程内的基于内存的状态管理,故而存在很多问题: 1.所有的 Session 数据都保存在 Web 服务的进程中,会造成服务器支持会话数量受到服务器内存资源的限制问题,同时也因为大量非活动会话导致内存被无效占用. 2.服务器进程崩溃会导致所有的会话数据丢失. 3.会话无法跨进程或在负载均衡情况下使用,除非负载均衡技术

ASP.NET:掌握Web窗体的生命周期与状态管理

asp.net|web 如果你具有使用 Active Server Pages (ASP) 的经验,你将认识到 ASP 是线性处理模型.ASP 页是按从上到下的顺序处理的.ASP 代码和静态 HTML 的每一行都按其在文件中的显示顺序进行处理.在往返行程中用户操作导致页被发送到服务器.因为此操作导致往返行程,所以服务器必须重新创建该页.在重新创建该页后,将通过与以前相同的从上到下的顺序对该页进行处理,因此,该页未表现出真正的事件驱动行为.若要创建事件驱动体验,你需要显式设计它.此外,你必须在最基