2

我是编程新手,特别是网络基础编程。我想学习有关状态管理技术的最佳实践。我是说

当我们必须创建会话时?

何时使用会话如何检查空会话?,

什么时候使用cookies?

何时使用隐藏字段?

all 之间有什么区别?

在特定时间使用哪种技术?

由于状态管理不成功,应用程序如何崩溃?在开发 Web 应用程序时,我们需要牢记关于状态管理的哪些事项......???

有这么多问题。也许你们知道。请帮我解决我的困惑。

提前致谢 !

4

3 回答 3

4

http://www.thedevheaven.com/2012/05/state-management.html

状态管理是您为相同或不同页面的多个请求维护状态和页面信息的过程。

状态管理的类型

有两种类型的状态管理:

  1. 客户端 – 端状态管理 通过将信息嵌入网页、统一资源定位器 (url) 或 cookie,将信息存储在客户端计算机上。下面列出了可用于在客户端存储状态信息的技术:

一种。视图状态——Asp.Net 使用视图状态来跟踪控件中的值。您可以将自定义值添加到视图状态。Asp.net 页面框架使用它在渲染到页面之前自动保存页面和每个控件的值。当页面发布时,页面处理执行的首要任务之一是恢复视图状态。

湾。控件状态——如果您创建一个需要视图状态才能正常工作的自定义控件,您应该使用控件状态来确保其他开发人员不会通过禁用视图状态来破坏您的控制。

C。隐藏字段——与视图状态一样,隐藏字段将数据存储在 HTML 表单中,而不在用户浏览器中显示。数据仅在处理表单时可用。

d。Cookies – Cookies 在用户浏览器中存储一个值,浏览器随每个页面请求向同一服务器发送该值。Cookie 是存储状态数据的最佳方式,这些数据必须可用于网站上的多个网页。

e. 查询字符串 - 查询字符串将值存储在用户可见的 URL 中。当您希望用户能够通过 URL 发送电子邮件或即时消息状态数据时,请使用查询字符串。

  1. 服务器 – 端状态管理

一种。应用程序状态 - 应用程序状态信息可用于所有页面,无论哪个用户请求页面。

湾。会话状态——用户在一次访问期间打开的所有页面都可以使用会话状态信息。

应用程序重新启动时,应用程序状态和会话状态信息都会丢失。要在应用程序重新启动之间保留用户数据,您可以使用配置文件属性存储它。

好处

客户端 – 端状态管理的优势:

  1. 更好的可扩展性:通过服务器端状态管理,每个连接到 Web 服务器的客户端都会消耗 Web 服务器上的内存。如果一个网站同时拥有成百上千的用户,存储状态管理信息所消耗的内存可能会成为一个限制因素。将这种负担推给客户可以消除潜在的瓶颈。

  2. 支持多个 Web 服务器:通过客户端状态管理,您可以在多个 Web 服务器之间分发传入请求,而无需更改您的应用程序,因为客户端提供了 Web 服务器处理请求所需的所有信息。使用服务器端状态管理,如果客户端在会话中间切换服务器,则新服务器不一定有权访问客户端的状态信息。您可以将多个服务器与服务器端状态管理一起使用,但您需要智能负载平衡(始终将来自客户端的请求转发到同一服务器)或集中状态管理(其中状态存储在所有 Web 服务器的中央数据库中)使用权)。

服务器的优势 - 端状态管理:

  1. 更好的安全性:客户端状态管理信息可以被捕获(在传输中或存储在客户端时)或被恶意修改。因此,您永远不应使用客户端状态管理来存储机密信息,例如密码、授权级别或身份验证状态。

  2. 减少带宽:如果您存储大量状态管理信息,则将该信息来回发送到客户端会增加带宽利用率和页面加载时间,从而可能会增加您的成本并降低可扩展性。带宽使用的增加对移动客户端的影响最大,因为它们的连接速度通常很慢。相反,您应该在服务器上存储大量状态管理数据(例如,超过 1 KB)

于 2012-06-05T11:35:00.110 回答
1

听起来你应该只需要做一些阅读。

Pro ASP.NET - 这本书有一章是关于状态管理的,但我打赌这本书的其余部分也会对你有所帮助,因为你是一个初学者。

此外,MSDN有一些关于状态管理以及何时使用什么的好信息。

于 2011-03-23T14:00:44.497 回答