`

ASP.NET状态管理之一(概括篇)

阅读更多

每次将网页发送到服务器时,都会创建网页类的一个新实例。在传统的Web编程中,这通常意味着在每一次往返行程中,与该页及该页上的控件相关联的所有信息都会丢失。例如,如果用户将信息输入到文本框,该信息将在从浏览器或客户端设备到服务器的往返行程中丢失。

状态管理是您对同一页或不同页的多个请求维护状态和页信息的过程。与所有基于 HTTP 的技术一样,Web 窗体页是无状态的,这意味着它们不自动指示序列中的请求是否全部来自相同的客户端,或者单个浏览器实例是否一直在查看页或站点。此外,到服务器的每一往返过程都将销毁并重新创建页;因此,如果超出了单个页的生命周期,页信息将不存在。

基于客户端的状态管理
视图状态

控件状态

隐藏域
ASP.NET 允许您将信息存储在 HiddenField 控件中,此控件将呈现为一个标准的 HTML 隐藏域。隐藏域在浏览器中不以可见的形式呈现,但您可以就像对待标准控件一样设置其属性。当向服务器提交页时,隐藏域的内容将在 HTTP 窗体集合中随同其他控件的值一起发送。隐藏域可用作一个储存库,您可以将希望直接存储在页中的任何特定于页的信息放置到其中。
ASP.NET状态管理之三(隐藏域HiddenField)

 


Cookie
Cookie是一些少量的数据,这些数据或者存储在客户端文件系统的文本文件中,或者存储在客户端浏览器会话的内存中。Cookie包含特定于站点的信息,这些信息是随页输出一起由服务器发送到客户端的。Cookie可以是临时的(具有特定的过期时间和日期),也可以是永久的。

可以使用Cookie来存储有关特定客户端、会话或应用程序的信息。Cookie保存在客户端设备上,当浏览器请求某页时,客户端会将Cookie中的信息连同请求信息一起发送。服务器可以读取Cookie并提取它的值。一项常见的用途是存储标记(可能已加密),以指示该用户已经在您的应用程序中进行了身份验证。
ASP.NET状态管理之五(Cookie)

 


查询字符串
查询字符串是在页 URL 的结尾附加的信息
ASP.NET状态管理之二(查询字苻串QueryString)

 


基于服务器的状态管理

应用程序状态
ASP.NET 允许您使用应用程序状态来保存每个活动的 Web 应用程序的值,应用程序状态是 HttpApplicationState 类的一个实例。应用程序状态是一种全局存储机制,可从 Web 应用程序中的所有页面访问。
应用程序状态存储在一个键/值字典中,在每次请求一个特定的 URL 期间就会创建这样一个字典。可以将特定于应用程序的信息添加到此结构以在页请求期间存储它。
一旦将应用程序特定的信息添加到应用程序状态中,服务器就会管理该对象。
ASP.NET状态管理之八(应用程序Application)

 

 

暂存状态
获取可用于在 HTTP 请求过程中在 IHttpModule 和 IHttpHandler 之间组织和共享数据的键值
ASP.NET状态管理之四(暂存状态HttpContext.Items)

 

 

 

 

 

 

 

 

 

 

 

 

最近做了一个BTOC项目,遇到了一些网页状态存储管理的问题,现总结一下我的解决方案:

首先,我们说说状态:

状态是任何类型数据能够在一定时期内保持活跃的信息。

我们这里说的一定时期可以是整个应用程序的生命周期,也可以是用户操作程序的时间,也可以是单个页面的生命周期等等。时间是有长有短的。

由于WEB程序的HTTP协议是无状态的,所以存储状态信息就成了一个要解决的问题,既然要存储数据,那么存储的数据就需要有个存放位置,我认为只有2个地方:

·客户机

·服务器

按照存放位置进行分类,ASP。NET中状态存放方式如下:

·客户机







·服务器


©会话---这种数据和每个用户联系
详细说明



©缓存---这种数据与应用程序相类似
详细说明(请点击)

©其他物理数据存放媒体---例如数据库,TXT文本,XML文件等等
详细说明(请点击)



我总结了以上九种方式,存储数据,不知是否有遗漏,大家可以补充

分享到:
评论

相关推荐

    Asp.net状态管理

    ### ASP.NET状态管理详解 #### 一、概述 在Web开发中,由于HTTP协议本身的无状态特性,使得服务器无法直接追踪用户的会话信息。为了克服这一限制,ASP.NET提供了多种状态管理技术,帮助开发者在不同的请求之间保持...

    ASP.Net 常用代码汇总

    5. **状态管理**:ASP.NET提供Session、ViewState、Cookie等多种方式来在页面间保持数据。选择正确的状态管理策略能确保应用在用户会话期间正确地保存和恢复信息。 6. **错误处理**:通过使用Try-Catch块,可以捕获...

    ASP.NET页面传值概括

    ViewState是ASP.NET特有的状态管理机制,它在页面回发时保留控件状态。数据存储在页面的隐藏字段中,优点是自动保留页面多次请求间的值,无需服务器资源。但数据量大时会影响页面加载速度,且数据可被篡改,安全性...

    asp.net/c#酒店客房管理系统(毕业设计)

    本设计项目“ASP.NET/C#酒店客房管理系统”旨在提供一个全面的解决方案,以满足现代酒店在日常运营中的各种需求。 系统的主要功能可以概括为以下几个方面: 1. **客户登记**:系统应具备录入客户信息的功能,包括...

    asp.net代码练习 work018

    ASP.NET集成了许多功能,包括自动状态管理、页面生命周期管理、事件驱动模型以及丰富的控件库,使得开发过程更加简单和快捷。 【ASP.NET工作原理】 ASP.NET的工作流程可以概括为以下步骤: 1. 用户通过浏览器发起...

    ASP.NET深入编程

    ASP.NET是微软推出的一种用于构建动态网站、Web应用和服务的开发平台,它基于.NET Framework,提供了丰富的控件、自动状态管理以及强大的安全性支持。在.NET 2.0版本中,ASP.NET引入了许多改进,包括增强的性能、更...

    ASP.NET毕业设计——ASP.NET基于.NET的城市公交查询系统的设计与实现(源代码+论文).zip

    "asp.net":这是该项目的核心技术,ASP.NET是一种强大的Web开发框架,它简化了Web应用程序的创建,提供了丰富的服务器控件、自动状态管理以及对多种数据库的支持。 "毕业设计":表明这是一个学术性质的项目,通常在...

    ASP.NET开发实战1200例(第II卷)第十九章.rar

    6. **ASP.NET状态管理**:包括View State、Session State和Application State等,这些机制用于在Web的无状态环境中保持数据。 7. **ASP.NET缓存**:学习如何利用Output Cache、Data Cache等提高应用程序性能。 8. ...

    ASP.NET 2.0全程指南第11章

    5. **状态管理(State Management)**:ASP.NET 2.0提供了多种状态管理机制,如视图状态(ViewState)、控制状态(ControlState)、会话状态(Session State)、cookie和查询字符串,以保持用户交互期间的信息。...

    ASP.NET程序开发范例宝典part12

    ASP.NET提供了多种状态管理方式,如视图状态、隐藏字段、Session、Cookie等,这部分可能讲解如何有效地保持用户数据。 4. **数据绑定与数据源控制**:ASP.NET提供了强大的数据绑定机制,如 repeater、gridview等...

    ASP.NET开发典型模块大全(C#)1-2

    ASP.NET是微软公司推出的一...以上内容仅是对"ASP.NET开发典型模块大全(C#)1-2"可能涵盖的主题的一个概括。通过深入学习这些模块,开发者可以系统地提升自己的ASP.NET开发能力,从而创建功能丰富且高效的Web应用程序。

    asp.net 二手车源码 三层+Nhibernate+MVC框架数据库

    ASP.NET提供了丰富的控件、自动状态管理以及强大的调试工具,使得Web开发更加高效。 2. 三层架构:一种软件设计模式,包括表示层(用户界面)、业务逻辑层(业务规则处理)和数据访问层(数据库操作)。这种架构有...

    asp.net基于三层模式校园二手物品交易网毕业源码案例设计.zip

    【描述】:该描述简洁地概括了项目的性质,即一个使用ASP.NET开发的毕业设计项目,其重点在于实现一个基于三层架构的二手物品交易网站。三层架构是一种常见的软件设计模式,它将应用程序分解为表现层(用户界面)、...

    毕业论文asp.net740(CS)企业OA办公管理系统.doc

    本文档主要介绍了一篇以企业OA(Office Automation)办公自动化管理系统为题的毕业论文,该系统采用ASP.NET技术进行开发。以下将详细阐述其主要内容。 摘要部分通常是对整个论文的精炼概括,包括研究目的、方法和...

    应届毕业生毕业论文格式范文

    ASP.NET的核心优势在于其内置的服务器控件、自动状态管理、页面生命周期管理和安全性支持。 在ASP.NET中,开发人员可以使用多种编程语言,如C#、VB.NET等,编写后端逻辑。ASP.NET提供了ASP.NET Web Forms、ASP.NET ...

    oreilly - .net framework essentials edt2 英文

    - **7.8 状态管理和可扩展性**:介绍了ASP.NET中用于管理状态的技术和提高Web应用程序可扩展性的方法。 - **7.9 小结**:总结了ASP.NET Web表单开发的关键技术和最佳实践。 ### 8. Windows窗体 - **8.1 引入...

    asp[1]net最常用的三十三种编程代码

    以上知识点只是概括性的介绍,实际的资源文档`asp[1].net最常用的三十三种编程代码.doc`可能会包含更具体的代码示例和解释,对于ASP.NET开发者来说,这是一份宝贵的参考资料。在学习过程中,结合实际项目实践,将有...

Global site tag (gtag.js) - Google Analytics