ASP.NET Lab

The Best Web, The Best Future

ASP.NET / 状态管理

摘要: 你可以使用 ASP.NET 档案特征来存储并获取数据源(比如数据库)中的用户设定。你可以在应用程序的配置文件中指定构成用户档案的属性和分组。在运行时,ASP.NET 会使用配置信息来动态生成每个档案属性的强类型的类访问器。然后这个类通过静态的 Profile 属性而被暴露。档案属性值通过数据源中的一个档案提供者而被存储,既可以保存在纯文本的 XML 中又可以保存在序列化的二进制表单中。阅读全文
posted @ 2007-02-20 18:32 Laeb| 编辑

摘要: 本文中的这个代码范例说明了一个 ASP.NET 档案提供者的实现。关于如何编译这个代码并且使用提供者的信息,请参考:[建立并且运行档案提供者范例]。阅读全文
posted @ 2007-02-17 20:08 Laeb| 编辑

摘要: 本文包括了 ASP.NET 档案提供者的一个范例代码。这个范例提供者使用 .NET Framework 的 ODBC 数据提供者来连接到一个 ODBC 数据源。另外,这个范例还使用了一个 Access 数据库来作为它的数据源。阅读全文
posted @ 2007-02-17 19:54 Laeb| 编辑

摘要: ASP.NET 档案特征允许你简化对于不同的提供者的使用。你既可以使用 .NET Framework 中的 SqlProfileProvider 类也可以实现属于你自己的提供者。阅读全文
posted @ 2007-02-15 18:10 Laeb| 编辑

摘要: ASP.NET 档案特征与 ASP.NET 成员资格、ASP.NET 角色管理,以及其他的 ASP.NET 特征一样,都使用相同的基于提供者的数据结构。ASP.NET 档案特征与一个层次化的系统一样在为档案特征而提供类型化属性值的功能中运行,并且管理与底层数据存储被分离的用户身份。档案特征还依赖于档案提供者(数据提供者)来完成存储任务以及获取档案属性值时所必需的后端任务。阅读全文
posted @ 2007-02-13 21:54 Laeb| 编辑

摘要: ASP.NET 档案特征允许你存储简单(标量)值、集合以及其他复杂的类型,还有用户的自定义类型。阅读全文
posted @ 2007-02-12 18:10 Laeb| 编辑

摘要: ASP.NET 用户档案特征被设计成用来为当前用户提供唯一的信息。档案能够与已识别的用户和匿名(未被识别)的用户一起运作。阅读全文
posted @ 2007-02-11 21:39 Laeb| 编辑

摘要: 在多数应用程序中,你需要存储并使用针对用户唯一的信息。在用户访问网站的时候,你可以使用被存储的信息来为用户呈现一个已个性化的 Web 应用程序版本。对应用程序进行个性化需要许多的元素:你必须使用一个唯一的用户标识符来存储信息,从而在用户再次访问的时候能够对用户进行识别,然后根据实际需要来获取用户信息。要对应用程序进行简化,你可以使用 ASP.NET 档案特征,它能够为你完成所有的这些任务。阅读全文
posted @ 2007-01-25 22:24 Laeb| 编辑

摘要: 应用程序状态是一个能够被 ASP.NET 应用程序中的所有类都可用的数据贮存室。应用程序状态被存储在服务器的内存中并且速度要比从数据库中存储并获取信息时要来得更快。与会话状态不同,会话状态只指定了单独的用户会话,而应用程序状态会作用于所有的用户和会话。因此,应用程序状态在存放少量经常被使用并且不会在用户之间被更改的数据存储的时候是比较适用的。阅读全文
posted @ 2007-01-25 14:52 Laeb| 编辑

摘要: 应用程序状态是一个能够被 ASP.NET 应用程序中的所有类都可用的数据贮存室。应用程序状态被存储在服务器的内存中并且速度要比从数据库中存储并获取信息时要来得更快。与会话状态不同,会话状态只指定了单独的用户会话,而应用程序状态会作用于所有的用户和会话。因此,应用程序状态在存放少量经常被使用并且不会在用户之间被更改的数据存储的时候是比较适用的。阅读全文
posted @ 2007-01-22 23:38 Laeb| 编辑

摘要: 应用程序状态是一个能够被 ASP.NET 应用程序中的所有类都可用的数据贮存室。应用程序状态被存储在服务器的内存中并且速度要比从数据库中存储并获取信息时要来得更快。与会话状态不同,会话状态只指定了单独的用户会话,而应用程序状态会作用于所有的用户和会话。因此,应用程序状态在存放少量经常被使用并且不会在用户之间被更改的数据存储的时候是比较适用的。关于保存每用户基本数据的信息,请参考:[会话状态概览和 ASP.NET 档案属性概览]。阅读全文
posted @ 2007-01-21 22:53 Laeb| 编辑

摘要: 本文示范了一个会话状态存储提供者的实现。阅读全文
posted @ 2007-01-20 18:02 Laeb| 编辑

摘要: 本文描述了一个使用 .NET Framework ODBC 数据提供者在 Access 数据库中管理会话信息的自定义会话状态存储提供者的实现。阅读全文
posted @ 2007-01-20 17:23 Laeb| 编辑

摘要: 本文描述了一个自定义的会话状态存储提供者实现并示范一个范例提供者的实例。阅读全文
posted @ 2007-01-20 16:32 Laeb| 编辑

摘要: 该范例通过访问 Item 属性来获取会话状态中的值。阅读全文
posted @ 2007-01-20 11:32 Laeb| 编辑

摘要: 该范例使用了 HttpSessionState 对象来持续保持一个单独会话中的值。阅读全文
posted @ 2007-01-20 11:04 Laeb| 编辑

摘要: 当用户在 Web 应用程序中不同的 ASP.NET 页面之间导航的时候,ASP.NET 会话状态就允许你存储并获取用户的状态值。ASP.NET 会话状态对来自于相同浏览器的、在一个有限的计时窗口(即会话)中,并能够在会话期间持续保持变量的值的时候会对请求进行识别。浏览器会话在会话 Cookie 中或在 URL(会话状态被配置成无 Cookie 的时候)中被识别。阅读全文
posted @ 2007-01-19 22:17 Laeb| 编辑

摘要: ASP.NET 会话状态为会话数据提供了几个不同的存储选项。每个选项都通过一个 SessionStateMode 枚举值进行识别。如下列表中描述了可用的会话状态模式:InProc 模式;StateServer 模式;SQLServer 模式;Custom 模式;Off 模式。阅读全文
posted @ 2007-01-18 17:45 Laeb| 编辑

摘要: ASP.NET 提供了两个事件来帮助你对用户会话进行管理:Session_OnStart 事件:在新会话开始的时候被引发;还有 Session_OnEnd 事件:在会话被废弃或过期的时候被引发。阅读全文
posted @ 2007-01-17 18:16 Laeb| 编辑

摘要: 浏览器会话使用一个被存储在 SessionID 属性中的唯一标识符来进行识别。会话 ID 允许 ASP.NET 应用程序把特定浏览器与 Web 服务器相关的会话数据和信息进行联合。会话 ID 的值在浏览器和 Web 服务器之间的一个 Cookie 中被传递,或者是在无 Cookie 会话所指定的 URL 中。阅读全文
posted @ 2007-01-16 18:47 Laeb| 编辑

摘要: ASP.NET 会话状态允许你为用户在不同的 ASP.NET 页面导航之间存储并获取状态值。因为 HTTP 是无状态的协议,所以这意谓着 Web 服务器会把页面的每个 HTTP 请求都视为是相对独立的;默认时,服务器在先前的请求期间并不知道变量的值。ASP.NET 会话状态会在一个有限的时间段期间(如会话过程)从相同浏览器中对被接收的请求进行识别,并为该会话在持续期间提供持续保持变量值的能力。阅读全文
posted @ 2007-01-15 19:56 Laeb| 编辑

摘要: ASP.NET 会话状态允许你为用户在不同的 ASP.NET 页面导航之间存储并获取状态值。因为 HTTP 是无状态的协议,所以这意谓着 Web 服务器会把页面的每个 HTTP 请求都视为一个相对独立的请求;默认时,服务器在先前的请求期间并不知道变量的值。因此,建立需要对跨请求的状态信息(如应用程序中的购物车、数据滚动、等等)进行维护的 Web 应用程序将是一个挑战。ASP.NET 会话状态会在一个有限的时间段期间(如会话过程)从相同浏览器中对被接收的请求进行识别,并为该会话的持续期间提供持续保持变量值的能力。阅读全文
posted @ 2007-01-15 12:31 Laeb| 编辑

摘要: 视图状态是 ASP.NET 页面中的一个仓库,用来存储需要在回传过程期间被保持的状态值。例如,你能够在页面下一次被发送到服务器的时候,在载入事件期间把将要被访问的信息存储到视图状态中。关于使用建议,请参考:[ASP.NET 状态管理的建议]。阅读全文
posted @ 2007-01-14 21:53 Laeb| 编辑

摘要: 视图状态是 ASP.NET 页面中的一个仓库,用来存储需要在回传过程期间被保持的状态值。视图状态通常胜于会话数据或用户数据而被用于存储必须被保持的页面变量。例如,在页面下一次被发送到服务器的时候,你能够在载入事件期间把将要被访问的信息存储到视图状态中。关于使用建议,请参考:[ASP.NET 状态管理的建议]。阅读全文
posted @ 2007-01-14 21:52 Laeb| 编辑

摘要: ViewState 属性为在相同页面的多个请求之间保持状态值而提供了一个字典对象。这是 Web 页面用来在回传过程之间保持页面和控件属性值的默认方式。阅读全文
posted @ 2007-01-14 21:52 Laeb| 编辑

摘要: Web 应用程序是无状态的。服务器中的页面在每一次被请求的时候都会创建 Web 页面类的新实例。这通常意谓着所有与页面和控件相关联的信息在每次回传过程中都将被丢失。例如,如果用户在某个 HTML Web 页面的文本框中输入信息,那么该信息就会被发送到服务器,但是不会再次返回到客户端。要克服 Web 开发中这个固有的局限性,ASP.NET 页面框架包括了几个状态管理特征,其中一个就是视图状态,用于从浏览器到 Web 服务器的回传过程之间保持页面和控件的值。更多关于状态管理的信息,请参考:[ASP.NET 状态管理概览]。阅读全文
posted @ 2007-01-14 21:51 Laeb| 编辑

摘要: 你不能直接删除用户计算机中的 Cookie。但是,你能够通过把 Cookie 的有效日期设置成一个已经过去的日期来指挥用户浏览器对 Cookie 进行删除。用户在下一次对设置在 Cookie 中的域或路径中的页面进行访问的时候,浏览器会检测并删除已经过期的 Cookies。阅读全文
posted @ 2007-01-13 16:42 Laeb| 编辑

摘要: Cookies 提供了一种在 Web 应用程序中存储特定用户信息(如历史记录或用户偏好)的方式。Cookie 是连同请求和回应一起在 Web 服务器和客户端之间来回传送的少量文本。Web 应用程序能够在用户访问网站的时候读取 Cookie 中所包含的信息。阅读全文
posted @ 2007-01-13 16:41 Laeb| 编辑

摘要: Cookies 提供了一种在 Web 应用程序中存储特定用户信息(如历史记录或用户偏好)的方式。Cookie 是连同请求和回应一起在 Web 服务器和客户端之间来回传送的少量文本。Web 应用程序能够在用户访问网站的时候读取 Cookie 中所包含的信息。阅读全文
posted @ 2007-01-13 16:36 Laeb| 编辑

摘要: Cookies 为 Web 应用程序提供了存储特定用户信息的方法。例如,当一个用户访问网站的时候,你能够使用 Cookies 来存储该用户的偏好或其他信息。在用户下一次访问网站的时候,应用程序能够获取这些较早前被存储的信息。阅读全文
posted @ 2007-01-12 22:59 Laeb| 编辑

摘要: 状态管理是在相同或不同页面的多个请求之上维护状态和页面信息的过程。与任何基于 HTTP 技术的实质一样,Web 窗体页面是没有状态的,这意味着它们不会自动指出序列中的请求是否全部来自相同的客户端或者是否只是一个仍然在查看页面或网站的活动浏览器实例。此外,页面在每次在回传到服务器的过程中都被销毁并重建;因此,任何超出单个页面生命周期之外的信息都将不覆存在。关于服务器回传过程和 Web 窗体页面生命周期的更多信息,请参考:[ASP.NET 页面生命周期概览]。阅读全文
posted @ 2007-01-11 23:06 Laeb| 编辑

摘要: ASP.NET 2.0 保留了 ASP.NET 1.1 中的大部分功能,包括使用视图状态来自动保持页面的状态,以及会话和应用程序状态的数据库支持。另外,ASP.NET 2.0 还增加了两个新的特征:视图状态块和控件状态。阅读全文
posted @ 2007-01-10 21:26 Laeb| 编辑

摘要: 页面每次被回传到服务器的时候都会创建 Web 页面类的一个新实例。在传统的 Web 开发中,这意味着在每次回传的过程中,页面中所有与页面和控件相关联的信息都将被丢失。例如,如果用户在一个文本框中输入了信息,那么在浏览器或者其他客户端设备与服务器的回传过程中,文本框中的信息将被丢失。阅读全文
posted @ 2007-01-10 18:08 Laeb| 编辑